我正在设计一个应用程序,我有一个表视图,我希望每一行指向一个不同的视图控制器,然后能够返回到表视图。我知道我必须使用导航控制器来执行此操作,但如何将每一行转到单独的视图控制器?
例如,如果我有一个形状和颜色的表格视图,我选择行颜色,我想加载一个不同的视图控制器来处理颜色但保持层次结构。
请原谅我的语言用法,我刚开始使用Objective - C
答案 0 :(得分:2)
你可以在 didSelectRowAtIndexPath中使用简单的if条件:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
ViewController1 *obj1 = [[ViewController1 alloc]init];
ViewController1 *obj2 = [[ViewController2 alloc]init];
if(indexPath.row == 0)
{
[self.navigationController pushViewController:obj1 animated:YES];
} else {
[self.navigationController pushViewController:obj2 animated:YES];
}
}
答案 1 :(得分:1)
您应该转到表格视图委托并使用 - tableView:didSelectRowAtIndexPath:
检查选择了哪一行。根据选定的行,确定要转到的视图控制器。创建该视图控制器的实例并将其推送到导航控制器。
[self.navigationController pushViewController: newViewController animated:YES];