如何让tableView的滚动条一直显示
最近在修一个小BUG,客户那边说要让tableview的滚动条一直显示;当时觉得还蛮简单的,只要找到滚动条属性不就可以改了嘛。后来发现不是这样的。
滚动条有一个flashScrollIndicators方法,但是只可以让滚动条显示几秒钟,达不到要求。
后来百度了一下这个问题,所有的结果都指向一个方法——重写scrollview的setAlpah方法,可是不知道为什么,当我使用这个方法时,滚动条是一直显示了,但页面中的部分imageview也受到了影响。
方法如下:
来自cocoaChina某高富帅最后,只能自己写一个进度条思路如下:
第一步,需要设置tableview的滚动条隐藏
self.tableView.showsVerticalScrollIndicator = NO;
self.tableview.showsHorizontalScrollIndicator = NO;
第二步,自定义一个滚动条,我选择的是在storyboard上自定义了一个imageview,设置宽度为3,长度自选
第三步,由于有横竖屏情况下滚动条长度不定,所以需要自己设置,检测设备是横屏还是竖屏,修改imageview的长度
第四部,获取tableview滚动条的位置,将imageview的位置设置为滚动条的位置
第五步,将该函数放置到(void)scrollViewDidScroll:(UIScrollView *)scrollView中就好了。(我原本是放到cellForRowAtIndexPath中,那时候滚动条反应很慢,有时候已经到最顶端了,但是滚动条还在中间,后来大神给了建议,放到(void)scrollViewDidScroll:(UIScrollView *)scrollView中就会很快)
第六步,做微调。有时候当内容滚动到最后时,imageview会超过tableview的高度,溢出,这时,需要比较imageview最低端与tableview最低端的位置差,修改imageview的高度,多运行几次,认真改一下就好了。