简单,分开实现即可。
左右的使用工具库 pod 'MarqueeLabel', :git => "https://gitee.com/AppleLibs/MarqueeLabel.git"
上下的自己使用textview实现吧,github上不去,代码太难找了。代码如下:
// 启动上下滚动记时器
func checkTextViewScrollable() {
// textView是可滚动的
if textView.contentSize.height > textView.frame.size.height {
// 可以向上滚动
let y = textView.contentOffset.y
if textView.contentOffset.y < textView.contentSize.height - textView.frame.size.height {
textView.setContentOffset(CGPoint(x: 0, y: y + 2), animated: true)
} else {
// 从头开始滚动
textView.setContentOffset(CGPoint(x: 0, y: 0), animated: true)
}
DispatchQueue.main.asyncAfter(deadline: .now()+1) {
self.checkTextViewScrollable()
}
}
}
网友评论