在多个子类之间共享storyboard viewcontroller

Tie*_*eme 10 cocoa-touch ios uistoryboard uistoryboardsegue

我和佩德罗在这里有同样的问题,但对答案不满意,因为已经有了奖励和奖励,我创造了这个问题,我会尽快添加赏金.

我想在代码中创建或操作segue(以黄色突出显示),以便主视图是MFMasterViewController(以红色突出显示)的多个子类中的任何一个.

故事板图

做这个时使用笔尖我可以创建一个笔尖,SharedNib.xib和设置类的MFMasterViewController,然后创建我的子类,比方说 MFMasterViewControllerSubclassA,MFMasterViewControllerSubclassB 等和然后实例化我想要使用哪个子...

MFMasterViewControllerSubclassA *controller = [[MFMasterViewControllerSubclassA alloc] initWithNibName:@"SharedNib" bundle:nil];
Run Code Online (Sandbox Code Playgroud)

要么...

MFMasterViewControllerSubclassB *controller = [[MFMasterViewControllerSubclassB alloc] initWithNibName:@"SharedNib" bundle:nil];
Run Code Online (Sandbox Code Playgroud)

等等

关于如何使用故事板来解决这个问题的任何线索?

我不能在Pedro的问题上使用提供的答案,我的子类扩展超出了数据源和委托.

rde*_*mar 0

您只需将未连接的视图控制器添加到故事板并为它们提供标识符即可。然后在代码中,您可以在导航控制器子类中执行类似的操作:

MFMasterViewControllerSubclassA *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"SubclassA"];
self.viewControllers = @[controller];
Run Code Online (Sandbox Code Playgroud)

这会将导航控制器的根视图控制器更改为控制器。如果您想对更改进行动画处理,则可以使用 setViewControllers:animated: 而不是第二行。

  • 我想避免 IB 中的多个场景,我想要 IB 中的一个场景,我可以从所有连接的插座派生多个子类! (8认同)