XCode中用xib文件自定义的Table Cell,如何实现点击切换View Controller


利用xib文件自定义一个Table Cell,如何实现点击该Cell切换View Controller?

因为是使用xib文件自定义Table Cell,所以无法在storyboard中通过拖拽建立segue来实现View Controller的切换。

现在知道Table Cell有个方法 TableView:didSelectRowAtIndexPath 方法在点击cell后执行。但是不清楚如何在不使用segue的情况下具体实现一个View Controller的Push或者Modal。

ios xcode mvc ios7 objective-c

纯洁的叶叔叔 11 years, 1 month ago

在那个tableView的delegate里实现TableView:didSelectRowAtIndexPath, 在这个方法里可以初始化想要的push的view controller:

'''objectivec
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"%@", self.data[indexPath.row]);
// 初始化view controller, 可能需要使用到当前行的数据
UIViewController *nextViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"ViewControllerIdentifier"];
// 如果是要push到navigation controller里的话
[self.navigationController pushViewController:nextViewController animated:YES];
// 如果是要使用modal view的话
[self presentViewController:nextViewController animated:YES completion:^{
// complete
}];
}
'''

冷攻D爸♂爸 answered 11 years, 1 month ago

Your Answer