我正在设计一个应用程序,其中有一个表格视图,我希望每一行都指向一个不同的视图控制器,然后能够返回到表格视图。我知道我必须使用导航控制器来执行此操作,但是如何让每一行转到单独的视图控制器?
例如,如果我有一个形状和颜色的表格视图并且我选择了行颜色,我想加载一个不同的视图控制器来处理颜色但保持层次结构。
请原谅我的语言使用,我刚刚开始使用 Objective-C
我正在设计一个应用程序,其中有一个表格视图,我希望每一行都指向一个不同的视图控制器,然后能够返回到表格视图。我知道我必须使用导航控制器来执行此操作,但是如何让每一行转到单独的视图控制器?
例如,如果我有一个形状和颜色的表格视图并且我选择了行颜色,我想加载一个不同的视图控制器来处理颜色但保持层次结构。
请原谅我的语言使用,我刚刚开始使用 Objective-C
您可以在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];
}
}
您应该转到表视图委托并检查使用 - 选择了哪一行tableView:didSelectRowAtIndexPath:
。根据选择的行,确定要转到哪个视图控制器。创建该视图控制器的实例并将其推送到导航控制器。
[self.navigationController pushViewController: newViewController animated:YES];