是否可以将UIScrollView指标从右侧移动到左侧?

时间:2012-06-15 15:06:49

标签: ios xcode uiscrollview

我意识到我可以旋转单元格并通过显示“倒置”滚动视图来移动指示器,但这需要大量其他旋转,并操纵信息以使表格正确滚动。

感谢您的时间

3 个答案:

答案 0 :(得分:75)

实际上,可以通过更改scrollIndicatorInsets属性将指标限制在左侧的小区域:

tableView.scrollIndicatorInsets = UIEdgeInsetsMake(0,0,0,tableView.bounds.size.width-10);

答案 1 :(得分:7)

我喜欢Jeremy Jay的解决方案(虽然我没有测试过),但只是为了彻底探索这个想法......这是另一个可能值得尝试的东西(尽管它也未经测试):

使用两个滚动视图。

一个滚动视图(我们将其称为“真实”视图)包含您的内容但隐藏了其指示符。另一个滚动视图不包含任何内容,但其contentSize设置为匹配“真实”滚动视图的内容。当“真实”滚动视图的contentOffset发生更改(通过委托消息观察)时,更改“假”滚动视图的偏移量以匹配。 (有关使用不带内容视图的滚动视图的更多信息,请查看WWDC 2012中的滚动视图会话。)

理论上(再次,我没有对此进行过测试),您现在有一个与原始滚动视图分开的滚动指示器视图,您可以将它放在与原始视图相关的任何位置。将其层叠在原件的顶部并移动/调整尺寸,使其占据左侧的窄条,并且您有一个左侧滚动指示器。 (换句话说,将它层叠在原件的顶部,然后用仿射变换将其水平翻转。)将它放在其他地方完全将你的UI带到疯狂的城镇。 (或者不要。)但是如果它在最上面分层,请确保你忽略了触摸。

答案 2 :(得分:2)

实现这一目标的快速方法(如果你不使用行动作)而不必计算插入或搞乱其他表格视图,就是将表格视图转换为Y轴(翻转)然后当你得到它们时,将它们转换回来。

tableView.transform = CGAffineTransformMakeScale(1, -1);

然后

cell.transform = CGAffineTransformMakeScale(1, -1);