我一直在 stackoverflow 和谷歌上四处寻找这个答案,但我似乎找不到任何可以说是或否的东西。
我有一个应用程序,在单个 View 中有大约 90,000 个单元格,可以使用滑动手势滚动浏览,但速度如您想象的那样慢。
现在,实现了一个可以快速加快搜索速度的搜索功能,但客户还想添加一个可点击的滚动条,就像您在常规网络浏览器中看到的那样。这个应用程序是在 IOS 和 Android 上制作的,Android 版本能够实现滚动条,虽然我认为没有必要有一个,客户想要什么,客户就得到(如果可能的话) .
有没有办法实现适合屏幕边缘的滚动条,可用于快速滚动数千个内容单元格?
最佳答案
我会简单地使用 UISlider 并将其旋转 90 度:
CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI*0.5);
scrollSlider.transform = transform;
然后使用您自己的图像使用此功能来获得更像滚动条的外观(空图像作为背景和不同形状的拇指图像):
- setMaximumTrackImage:forState:
– setMinimumTrackImage:forState:
– setThumbImage:forState:
之后,您可以使用 slider 的值属性来调整滚动位置。
编辑:在这种情况下,您应该隐藏真正的滚动条,并在用户使用 ScrollView 时更新 slider 的值
-scrollViewDidScroll:
为了让数学更简单一些,您可以将 slider 的最小值设置为 0,将最大值设置为 scrollView.contentSize.height - scrollView.size.height。
slider.value 可以直接用作 scrollView.contentOffset。
关于ios - 有没有办法为 native IOS 应用程序创建可用的滚动条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29286403/