从单个表视图实例化多个视图控制器

时间:2013-06-06 07:33:50

标签: ios uitableview uiviewcontroller

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

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

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

2 个答案:

答案 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];