20

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

谢谢你的时间

4

3 回答 3

81

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

tableView.scrollIndicatorInsets = UIEdgeInsetsMake(0,0,0,tableView.bounds.size.width-10);
于 2012-10-10T03:23:03.717 回答
7

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

使用两个滚动视图。

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

理论上(同样,我还没有测试过),您现在有了一个与原始滚动视图分开的滚动指示器视图,您可以将其放置在与原始滚动视图相关的任何位置。将它放在原件的顶部并移动/调整大小,使其在左侧占据一条窄条,并且您有一个左侧滚动指示器。(或者,将其叠加在原件之上并使用仿射变换将其水平翻转。)将其完全放在其他地方,让您的 UI 踏上疯狂的小镇之旅。(或者不要。)但是,如果它在顶部分层,请确保它忽略触摸。

于 2012-10-10T04:41:24.743 回答
2

实现这一点(如果您不使用行操作)而无需计算插入或弄乱其他表格视图的快速方法是跨 Y 轴(翻转)转换表格视图,然后将单元格转换回来你得到他们。

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

进而

cell.transform = CGAffineTransformMakeScale(1, -1);
于 2017-06-14T20:32:34.860 回答