UITableView自定义滚动条

时间:2010-02-06 17:42:03

标签: iphone objective-c uitableview scroll scrollbar

如何为UITableView创建自定义滚动条?

我想删除跟踪开始时弹出的默认值,并在跟踪结束时消失。相反,我希望有一个类似于计算机程序中的一个:(a)它位于屏幕的右侧并且永久可见; (b)手动滚动栏将UITableView滚动到适当的位置; (c)滚动UITableView将适当滚动滚动条(不显示Apple提供的默认滚动条)。

(b)和(c)中的难点在于,据我所知,Apple只提供滚动到特定行/部分的方法,但不能滚动到连续四分之三的方向。因此,例如,如果我想滚动滚动条,UITableView将随后仅滚动到行/单元格的顶部。我正在谈论的方法是:

- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated

之前有没有人在他们的UITableView中实现自定义滚动条?或者有人可以帮我找出解决以下问题的方法:

  • 滚动到UITableView中的任意位置而不是单元格的开头

  • 删除默认滚动条并阻止其显示

  • 更改滚动条图像/动画/滚动UITableView时的任何内容

谢谢!


1 个答案:

答案 0 :(得分:2)

UITableView继承自UIScrollView,这意味着您可以使用任何现有功能。在你的情况下

- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated

应该做的工作。它将表格移动到您想要的任何位置。

要禁用现有滚动指示符,请使用

table.showsVerticalScrollIndicator = NO;

要添加自己的,只需添加自定义视图!