2012-07-16 114 views
0

我想禁用自动滚动到顶部。我试过禁用自动滚动UITableView

tableview.scrollsToTop=NO; 
    [tableview setScrollsToTop:NO]; 

但这不起作用。

由于

+0

您确定您的tableview属性在设置属性时有效吗?尝试添加一个“ - (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView”委托方法并返回NO。 – 2012-07-16 15:36:16

+0

它不起作用 – mhunturk 2012-07-16 15:55:02

+0

所以你知道tableView被设置 - 你添加了一个日志消息来打印出NSLog(@“%@”,tableView)“,你设置的值,你的tableview设置为使用你的类作为一个委托,并且你有委托方法返回NO吗?添加一个日志到scrollViewShouldScrollToTop看它是否被调用。ScrollToTop是你点击状态栏的地方 - 这是你想禁用的功能,对吧? – 2012-07-16 16:44:51

回答

5

自动滚动代码驻留在tableViewController,所以自动滚动不能被禁用。而不是从UITableViewController继承,你可以从UIViewController继承子类并在其中使用tableView。

如果你愿意使用UITableViewController本身,你可以重写viewWillAppear并且不要调用[super viewWillAppear]。

+0

谢谢!这工作。 – Jeremy 2012-10-17 18:16:56