有没有办法为本机IOS应用程序创建可用的滚动条?

时间:2015-03-26 18:40:24

标签: ios xcode swift

我一直在寻找stackoverflow和谷歌试图找到这个答案,我似乎无法找到任何说是或否的东西。

我有一个应用程序,在一个视图中有大约90,000个单元格,并且通过滑动手势滚动可以正常工作但是你想的速度非常慢。

现在,实现了一个快速加速搜索的搜索功能,但客户端还希望添加一个可点击的滚动条,就像您在常规Web浏览器中看到的那样。这个应用程序是在IOS和Android上制作的,Android版本能够实现滚动条,虽然我不认为有必要拥有一个,客户想要的,客户端得到(当然它是可能)。

有没有办法实现一个适合屏幕边缘的滚动条,可以快速滚动数千个内容单元格?

1 个答案:

答案 0 :(得分:2)

我只需使用UISlider并将其旋转90度:

CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI*0.5);
scrollSlider.transform = transform;

然后使用此功能将您自己的图像用于更像滚动条的外观(空图像作为背景和不同形状的拇指图像):

- setMaximumTrackImage:forState:
– setMinimumTrackImage:forState:
– setThumbImage:forState:

之后,您可以使用滑块的value属性来调整滚动位置。

编辑:在这种情况下你应隐藏真正的滚动条,并在用户使用

滚动视图时更新滑块的值
-scrollViewDidScroll:

为了让数学更容易一些,你可以将滑块的最小值设置为0,将最大值设置为scrollView.contentSize.height - scrollView.size.height。

slider.value可以直接用作scrollView.contentOffset。