以编程方式选择uitableview行

sef*_*ths 12 objective-c uitableview ipad

我已经阅读了很多关于这个论点,我已经测试了这个有效的例子: 源代码示例.但这不使用故事板(我不知道这是否是使我的项目无法工作的原因)我用故事板制作了另一个项目,相同的指令序列不起作用......

-(void)viewDidAppear:(BOOL)animated{
    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:1 inSection:0];
    [firstController.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
    [firstTable.delegate tableView:firstTable didSelectRowAtIndexPath:indexPath];
}
Run Code Online (Sandbox Code Playgroud)

这里是我的项目,是同以前的链接的,只增加viewDidAppear 我不工作的项目 可有人告诉我有什么不对?谢谢

Ram*_*uri 25

我试着研究下载项目的代码.问题是firstController.tableView是零.
所以解决它:

[firstTable selectRowAtIndexPath:indexPath 
                        animated:NO 
                  scrollPosition:UITableViewScrollPositionNone];
Run Code Online (Sandbox Code Playgroud)

或者将firstController.tableView分配给表视图.


Oma*_*arj 22

- (void)viewDidLoad {
    [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:NO scrollPosition:UITableViewScrollPositionNone];
}
Run Code Online (Sandbox Code Playgroud)

如果你想要委托的回调:

if ([self.tableView.delegate respondsToSelector:@selector(tableView:didSelectRowAtIndexPath:)]) {
    [self.tableView.delegate tableView:self.tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
}
Run Code Online (Sandbox Code Playgroud)