使用 swift (IOS 应用程序) 自动滚动 UITextView
Posted
技术标签:
【中文标题】使用 swift (IOS 应用程序) 自动滚动 UITextView【英文标题】:auto scroll for UITextView using swift (IOS app) 【发布时间】:2016-01-26 03:43:00 【问题描述】:我似乎找不到使用 Swift 自动滚动 UITextView
的正确解决方案。
对于我的应用,我从 BT 接收恒定数据,并在 UITextView
上更新它。但是,当UITextView
到达最新的更新行时,我将不得不手动滚动。
我想要实现的是保持UITextView
的最后添加行可见。 (使用快速)
【问题讨论】:
我现在不在我的电脑前,所以我能做的就是你可以尝试使用计时器并增加contentOffset
。这将使其自动滚动。当你到达终点时,你可以使计时器失效以停止滚动。
【参考方案1】:
这将滚动到UITextView
的底部,并带有动画:
let range = NSMakeRange(textView.text.characters.count - 1, 0)
textView.scrollRangeToVisible(range)
【讨论】:
【参考方案2】:@SwiftArchitect 答案的 Swift 5 更新:
let range = NSRange(location: textView.text.count - 1, length: 0)
textView.scrollRangeToVisible(range)
【讨论】:
【参考方案3】:你也可以设置 contentOffset:
let point = CGPoint(x: 0.0, y: (textView.contentSize.height - textView.bounds.height))
textView.setContentOffset(point, animated: true)
它会滚动到底部。
【讨论】:
以上是关于使用 swift (IOS 应用程序) 自动滚动 UITextView的主要内容,如果未能解决你的问题,请参考以下文章
使用 UITableViewAutomaticDimension 行高自动滚动到表格底部? - 斯威夫特,iOS 8+