首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何像swift中的提词器一样在UITextView中滚动文本?

如何像swift中的提词器一样在UITextView中滚动文本?
EN

Stack Overflow用户
提问于 2018-11-17 19:20:09
回答 1查看 244关注 0票数 0

我想滚动我的文字就像提词器滚动一样。我读过关于UIDynamicAnimation的文章,但对多行的UITextView不是很清楚。

感谢您的建议或代码片段来实现这一点。

EN

回答 1

Stack Overflow用户

发布于 2018-11-19 09:34:19

通过使用递归方法,我们可以使用UIView.animate(withDuration:animations:completed)对每个行滚动进行动画处理,直到到达textView的末尾。

代码语言:javascript
复制
func animateRowWith(duration: TimeInterval, rowHeight: CGFloat) {
    if self.textView.contentOffset.y < self.textView.contentSize.height - self.textView.frame.size.height {
        UIView.animate(withDuration: duration, animations: {
            self.textView.contentOffset = CGPoint(x: self.textView.contentOffset.x, y: self.textView.contentOffset.y + rowHeight)
        }) { (_) in
            self.animateRowWith(duration: duration, rowHeight: rowHeight)
        }
    }
}

正在调用它:

animateRowWith(duration: 1.0, rowHeight: self.textView.font?.lineHeight ?? 0)

请注意,每行滚动后都会有延迟。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53350715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档