次のように CGAffineTransformScale を使用して UILabel をスケーリングするとします。
let scale = 0.5
text = UILabel(frame: CGRectMake(100, 100, 100, 100))
text.text = "Test"
UIView.animateWithDuration(2.0, delay: 0.0, options: UIViewAnimationOptions.CurveEaseIn, animations: {
self.text.transform = CGAffineTransformScale(self.text.transform, scale, scale)
}, completion: {(value : Bool) in
print("Animation finished")
})
これは、UILabel を半分に拡大したいときにうまく機能します。しかし、この同じコードをもう一度呼び出すと、スケールが 0.25 になり、再び半分にスケーリングされます。
CGAffineTransformScale を使用して、累積的にスケーリングするのではなく、常に元の UILabel フレームの半分のサイズにスケーリングすることは可能でしょうか?