我的视图包含一个包含6行的简单TableView和一个在单击时调用doScroll
的按钮。我doScroll()
的目标只是滚动到第5个单元格,使其位于表格视图的顶部。
- (void)doScroll: (id)sender
{
NSIndexPath *index = [NSIndexPath indexPathForRow:4 inSection: 1];
[m_tableView scrollToRowAtIndexPath:index atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
但是,当调用doScroll
时,tableview仅略微滚动。我怀疑这与滚动视图的大小有关。所以我尝试在滚动之前增加m_tableview.contentsize
的高度。然而,在我这样做之后,根本没有滚动...
视图控制器是一个简单的UIViewController,它通过IBOutlet引用表视图。出于某种原因,滚动按预期的默认导航应用程序工作,其中控制器是UITableViewController
答案 0 :(得分:3)
UITableView将阻止您向上滚动空白区域。在表格底部添加足够的有效内容,以便单元格可以向上滚动。使用表格的边界减去单元格的高度,以获得更准确的框架:
myTable.tableFooterView = [[[UIView alloc] initWithFrame:CGRectMake(0,0,320,480)] autorelease];
您也可以使用bottom
属性的contentInset
。