Ios 当detailViewController为动态时,主详图ViewController

Ios 当detailViewController为动态时,主详图ViewController,ios,ios6,uinavigationcontroller,ios7,storyboard,Ios,Ios6,Uinavigationcontroller,Ios7,Storyboard,我正在为iPhone构建一个应用程序,我想使用XCode中的故事板从一个表视图(我们称之为带有几行的主表视图控制器)中进行简单选择,然后通过导航转到下一页并显示该选择的详细视图。 我的代码中有一个基类代表我的detailViewController,这个基类中有2-3个驱动程序类代表我想在第二页的DetailView controller中显示的内容,有人能告诉我如何设置目标viewController(detailViewController)吗基于主视图控制器中的选定行,使用序列图像板动态切

我正在为iPhone构建一个应用程序,我想使用XCode中的故事板从一个表视图(我们称之为带有几行的主表视图控制器)中进行简单选择,然后通过导航转到下一页并显示该选择的详细视图。 我的代码中有一个基类代表我的detailViewController,这个基类中有2-3个驱动程序类代表我想在第二页的DetailView controller中显示的内容,有人能告诉我如何设置目标viewController(detailViewController)吗基于主视图控制器中的选定行,使用序列图像板动态切换到我的一个子类

通常使用segue在情节提要中为详图视图控制器的目标类指定一个类,但由于我的目标类可能是不同的(子类),如何在情节提要中设置

谢谢,,
Kam

正如您所说,您可以处理didSelectRowAtIndexPath方法,并从那里实例化您想要的任何视图控制器(或其子类),而不是将segue直接连接到故事板中的单元

要手动加载基于情节提要的VC,请确保在interface builder中的情节提要中仍为VC指定了一个标识符,然后执行以下操作以加载它:

UIStoryboard* storyboard = self.storyboard;

DetailViewController* detailVC = [storyboard instantiateViewControllerWithIdentifier:@ "DetailViewController"];

[self.navigationController pushViewController:detailVC animated:YES];

如果您确实想要不同的VC布局,对于不同的子类,您可能希望在故事板中有不同的VC。或者设置一个初始值设定项,让您根据需要进行设置。

有几种方法可以实现这一点:

情节提要方法

  • 使用故事板在主表视图之间建立关系 控制器和局部视图控制器。在故事板中,你 完全可以有多个segue从 MasterTableViewController到各种其他视图控制器

    `-(void)tableView:(UITableView*)tableView未选择RowatineXpath:(NSIndexPath*)indexPath{

    [self-PerformsgueWithIdentifier:@“详细视图标识符”发件人:self]

    }

  • 一定要在故事板中为你的片段命名

编码方法

  • 在MasterTableViewController中:

    `-(void)tableView:(UITableView*)tableView未选择RowatineXpath:(NSIndexPath*)indexPath{

    MyViewController*vc=[[UIStoryboard Storyboard with name:@“Main_iPhone”bundle:nil]实例化视图控制器标识符:@“视图控制器标识符”]

    [自我呈现视图控制器:vc动画:是完成^{}]

    }