0

我正在设计一个应用程序,其中有一个表格视图,我希望每一行都指向一个不同的视图控制器,然后能够返回到表格视图。我知道我必须使用导航控制器来执行此操作,但是如何让每一行转到单独的视图控制器?

例如,如果我有一个形状和颜色的表格视图并且我选择了行颜色,我想加载一个不同的视图控制器来处理颜色但保持层次结构。

请原谅我的语言使用,我刚刚开始使用 Objective-C

4

2 回答 2

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];
     }
}
于 2013-06-06T07:43:18.073 回答
1

您应该转到表视图委托并检查使用 - 选择了哪一行tableView:didSelectRowAtIndexPath:。根据选择的行,确定要转到哪个视图控制器。创建该视图控制器的实例并将其推送到导航控制器。

[self.navigationController pushViewController: newViewController animated:YES];
于 2013-06-06T07:43:55.163 回答