如何正确缩放UITextView的动画

时间:2017-05-25 09:20:05

标签: ios swift uitextview

我有一个UITextView,我想用动画来上下缩放,我试着像其他UIView那样缩放它,像这样:

self.textView.widthConstraint.constant = newWidth

UIView.animate(withDuration: 0.4, animations: {

        self.view.layoutIfNeeded()

}, completion: nil)

动画有点奇怪:文本视图中的文本从动画开始到结束总是大小相同,容器按比例放大文本只是从右到左。

缩放UITextView及其包含的文字的正确方法是什么?

2 个答案:

答案 0 :(得分:3)

如果您只想为UITextView缩放设置动画,我认为最好使用CGAffineTransform。你可以这样做......

UIView.animate(withDuration: 0.4, animations: {
    self.textView.transform = self.textView.transform.scaledBy(x: 0.2, y: 0.2)
})

答案 1 :(得分:0)

试试这个:

self.textView.widthConstraint.constant = newWidth
UIView.animate(withDuration: 0.4, animations: {
    self.textView.layoutIfNeeded()
})

更新

根据this SO post answer,您必须使用Affine Transform

  

仿射变换缩放因子与其他任何内容一样应用于文本。因此,屏幕上的文本大小应该是标称文本大小乘以缩放因子。