让UITextView的indictor指示器一直存在
2018-08-08 本文已影响8人
落夏简叶
代码基于swift4.0
效果如下:
textfiledIndicator.png
须知:
-
UITextField正常情况是当滑动的时候才会显示,并且过一段时间会自动消失。
-
这里用到了flashScrollIndicators()方法,如果想提示这是一个可以滚动的textView,可以设置flashScrollIndicators()方法,不过这个方法设置之后,会在页面出现textView 的时候指示器会闪一下,大概1秒之后还是会自动消失。不过这也是一个折中的方法。
self.textView.flashScrollIndicators()
- 如果想让这个指示器一直存在,可以设置一个定时器,不断的调用flashScrollIndicators()方法让其一直存在。
override func viewDidLoad() {
super.viewDidLoad()
Timer.scheduledTimer(timeInterval: 0.3, target: self, selector: #selector(showIndictor), userInfo: nil, repeats: true)
}
@objc func showIndictor() {
//最好加一个动画,不加的话会一直闪烁的状态而不是一直存在的状态。而且这个withDuration值设置的越小,越看不出是在闪烁。给人一种是一直存在的假象
UIView.animate(withDuration: 0.0001) {
self.textView.flashScrollIndicators()
}
}
- 如果textView是加入到一个view中,比如说是在aweakFromNib 中写了textView.flashScrollIndicators()方法,有可能视图刚出现的时候也不会闪烁的。试着用下面的代码解决:
DispatchQueue.main.async {
self.textView.flashScrollIndicators()
}