【发布时间】:2017-07-20 13:29:48
【问题描述】:
我一直在想办法将光标设置到带有动画的长 UITextView 的底部。设置它并不太难,事实上这个答案很好地涵盖了它。 https://stackoverflow.com/a/34922332/563381
但是,制作动画并不是那么容易。我找不到setSelectedTextRange(animated:)。将其设置在 UIView.animate... 块内似乎没有任何作用。我能想到的最好的方法是手动为滚动设置动画,然后在完成集中设置selectedTextRange。然而,这很脆弱,通常看起来波涛汹涌,有时似乎根本不起作用。
当您设置selectedTextRange 时,它会跳转到该位置。如果有办法避免这种跳跃,动画可能会更流畅,至少不会那么脆弱,因为它不需要延迟,您可以使用setContentOffset(animated) 而无需等待设置selectedTextRange。
另一种选择是找到一种方法使selectedTextRange 跳转本身具有动画效果。在这方面,我尝试了在之前禁用滚动并在之后重新启用的技巧,但这似乎对我不起作用。猜测在 iOS 的更高版本中已经发生了变化。
【问题讨论】:
标签: ios swift animation uitextview