質問: CGAffineTransformMakeScale(1.0, 1.0) //10秒かけて元のサイズに return }, completion: {(finished: Bool) -> Void in // アニメーション終了後の処理 })
回答: 以下の感じでいかがでしょうか? ラベルのベースにViewを置いてそれにマスクをかけています。 `baseVeiw.layer.masksToBounds = true` ``` import UIKit class ViewController: UIViewController { let scWid = UIScreen.mainScreen().bounds.size.width let scHei = UIScreen.mainScreen().bounds.size.height override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = UIColor.redColor() let baseVeiw = UIView(frame: CGRectMake(scWid*0.2 ,scHei*0.25 ,scWid*0.6 ,scHei*0.1)) //scWid scHeiはスクリーンサイズの幅と高さ baseVeiw.backgroundColor = UIColor.redColor() baseVeiw.layer.masksToBounds = true // UILabelを作成する. let effectLabel = UILabel(frame: baseVeiw.bounds) effectLabel.text = "あいうえお" effectLabel.tag = 30 effectLabel.font = UIFont.systemFontOfSize(36) effectLabel.textColor = UIColor.whiteColor() effectLabel.textAlignment = NSTextAlignment.Center effectLabel.transform = CGAffineTransformMakeScale(2.0, 2.0) //元の倍のサイズ baseVeiw.addSubview(effectLabel) self.view.addSubview(baseVeiw) UIView.animateWithDuration(10, delay: 0.0, options : UIViewAnimationOptions.CurveLinear, animations: {() -> Void in effectLabel.transform = CGAffineTransformMakeScale(1.0, 1.0) //10秒かけて元のサイズに return }, completion: {(finished: Bool) -> Void in // アニメーション終了後の処理 }) } } ```