iOS/Swift:使用UIView.animate为从UITextView添加/删除的文本设置动画
我正在从iOS/Swift:使用UIView.animate为从UITextView添加/删除的文本设置动画,ios,swift,animation,uiview,uitextview,Ios,Swift,Animation,Uiview,Uitextview,我正在从UITextView添加和删除属性文本。我希望使用UIView.animate在将文本追加到文本视图以及从文本视图中删除追加的文本时添加动画。到目前为止,我有这个,但它不会在文本视图上引起任何明显的动画: UIView.animate(withDuration: 1, delay: 0, options: .CurveLinear, animations: { self.view.layoutIfNeeded() self.textView.attributedText
UITextView
添加和删除属性文本。我希望使用UIView.animate
在将文本追加到文本视图以及从文本视图中删除追加的文本时添加动画。到目前为止,我有这个,但它不会在文本视图上引起任何明显的动画:
UIView.animate(withDuration: 1, delay: 0, options: .CurveLinear, animations: {
self.view.layoutIfNeeded()
self.textView.attributedText = newAttributedText
}, completion: { finished in
print("Animation completed")
}
// prints "Animation completed", but no animation occurs
设置文本不能通过
ui视图设置动画。设置动画
。只有透明度、颜色、形状、位置等更改可以通过UIView.animate设置动画
下面是一个使用如下代码设置原点和透明度更改动画的示例
self.textView.text = "test Animation"
self.textView.alpha = 0
UIView.animate(withDuration: 3, delay: 0, options: .curveLinear, animations: {
var frame = self.textView.frame
frame.origin.x = frame.origin.x + 50
frame.origin.y = frame.origin.y + 50
self.textView.frame = frame
self.textView.alpha = 1
}, completion: { finished in
print("Animation completed")
})
动画看起来像
self.textView.text = "test Animation"
self.textView.alpha = 0
UIView.animate(withDuration: 3, delay: 0, options: .curveLinear, animations: {
var frame = self.textView.frame
frame.origin.x = frame.origin.x + 50
frame.origin.y = frame.origin.y + 50
self.textView.frame = frame
self.textView.alpha = 1
}, completion: { finished in
print("Animation completed")
})
无法通过UIView.animate设置文本动画。只有透明度、颜色、形状、位置等更改可以通过UIView.animate设置动画
下面是一个使用如下代码设置原点和透明度更改动画的示例
self.textView.text = "test Animation"
self.textView.alpha = 0
UIView.animate(withDuration: 3, delay: 0, options: .curveLinear, animations: {
var frame = self.textView.frame
frame.origin.x = frame.origin.x + 50
frame.origin.y = frame.origin.y + 50
self.textView.frame = frame
self.textView.alpha = 1
}, completion: { finished in
print("Animation completed")
})
动画看起来像
self.textView.text = "test Animation"
self.textView.alpha = 0
UIView.animate(withDuration: 3, delay: 0, options: .curveLinear, animations: {
var frame = self.textView.frame
frame.origin.x = frame.origin.x + 50
frame.origin.y = frame.origin.y + 50
self.textView.frame = frame
self.textView.alpha = 1
}, completion: { finished in
print("Animation completed")
})
不能以这种方式设置文本更改的动画。有一个和。您不能以这种方式设置文本更改的动画。有一个和。这是我的解决方案(swift 3):
以下是我的解决方案(swift 3):
您可以发布您在哪里使用此代码吗?attributedText
(和text
)属性不能使用简单的UIView
动画进行动画制作。您可以发布您在哪里使用此代码吗?attributedText
(和text
)属性不能使用简单的UIView
动画进行动画制作。