我有一个UITextView
,我想用动画来上下缩放,我试着像其他UIView
那样缩放它,像这样:
self.textView.widthConstraint.constant = newWidth
UIView.animate(withDuration: 0.4, animations: {
self.view.layoutIfNeeded()
}, completion: nil)
动画有点奇怪:文本视图中的文本从动画开始到结束总是大小相同,容器按比例放大文本只是从右到左。
缩放UITextView
及其包含的文字的正确方法是什么?
答案 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
:
仿射变换缩放因子与其他任何内容一样应用于文本。因此,屏幕上的文本大小应该是标称文本大小乘以缩放因子。