在viewDidLoad中调用TableView:didSelectRow:AtIndexPath

时间:2011-12-07 09:49:24

标签: ios xcode uitableview viewdidload

我必须在视图加载后在UITableView中选择一行。

所以我做了:

 [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:YES scrollPosition:UITableViewScrollPositionTop];

这很好,并且选择了行,但是我也想要TableView:didSelectRow:AtIndexPath方法被调用,现在不是这样。

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:4)

由于您知道要选择的行,因此您可以直接调用tableView:didSelectRowAtIndexPath中调用的方法。或者您可以自己致电tableView:didSelectRowAtIndexPath

NSIndexPath *initialIndex = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView selectRowAtIndexPath:initialIndex
                            animated:YES 
                      scrollPosition:UITableViewScrollPositionTop];
[self tableView:self.tableView didSelectRowAtIndexPath:initialIndex];

答案 1 :(得分:0)

我知道这听起来很愚蠢,但为什么不亲自打电话呢?我手动加载视图时遇到了同样的问题,然后我也必须手动调用onLoad:)

[self tableView:self.tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];

不确定我的语法是否合适,但是你明白了