我是iOS编程新手,我遇到了问题。我有一个自定义的表视图单元格,在单独的xib文件中有披露指示符,我想在用户点击单元格时调用storyboard中的viewcontroller。
以下是自定义表格视图单元格:
以下是表视图(类:TableViewController),它显示自定义表格单元格以及当用户点击自定义表格视图单元格时要调用的视图(类:ViewController):
我要调用的视图是否必须位于单独的xib文件中,还是可以将其放在我的故事板中?什么是最好的解决方案?
答案 0 :(得分:1)
使用UITableViewDelegate方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
并手动推送视图控制器。 将故事板ID分配给故事板中的视图控制器,然后执行以下操作:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil];
UIViewController *destVC = [storyboard instantiateViewControllerWithIdentifier:@"your_view_controller_storyboard_ID"];
[self.navigationController pushViewController:destVC animated:YES];
}
您可以在此处将故事板ID分配给视图控制器:
不要忘记将视图控制器设置为tableView委托:)
答案 1 :(得分:1)
只需使用表视图的didSelectRoWAtIndexPath方法......做这样的事情..
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
NSString* viewType = @"YourVCIdentifier";//u can have ContactVC or NavC as other options depending on ur condition
UIViewController* viewController = [storyboard instantiateViewControllerWithIdentifier:viewType];
[self.navigationController pushViewController:viewController animated:YES];
}
将会这样做