加载表时滚动到某个自定义单元格

时间:2014-02-14 09:39:43

标签: iphone cocoa-touch uitableview

我正在构建一个celander应用程序,我希望日历在开始时滚动到当前月份。我每个月都使用自定义单元格。我发现从这个网站发现这个问题的代码是:

    [self.bahraincld reloadData];

    NSIndexPath *scrollto = [NSIndexPath indexPathForRow:2 inSection:1];

    [self.bahraincld scrollToRowAtIndexPath:scrollto
                           atScrollPosition:UITableViewScrollPositionTop animated:YES];

我在视图中使用它确实加载了。它给了我SIGABRT的信号。

  • 这段代码是否正确?如果我希望它在用户启动日历时工作,我应该在哪里使用它。

感谢。

2 个答案:

答案 0 :(得分:0)

您最好将此代码放入viewDidAppear,因为您的tableView尚未加载数据,因此不会创建单元格。在您的情况下SIGABRT,是因为第2行超出了界限。

答案 1 :(得分:0)

这就是我所做的,跳吧帮助某人。

//in the view will appear reload your table.
-(void)viewWillAppear:(BOOL)animated
 {
[self.yourtable reloadData];
 }

//in the view did appear, value = defining which costume cell to move to.
-(void)viewDidAppear:(BOOL)animated 
{
[super viewDidAppear:animated];
int value = 5;
NSIndexPath *scrollto = [NSIndexPath indexPathForRow:value inSection:0];
[self.yourtable scrollToRowAtIndexPath:scrollto
                       atScrollPosition:UITableViewScrollPositionTop animated:YES];
 }