
我想要在代码中创建或 *** 作segue(以黄色突出显示),以便Master视图是MFMasterVIEwController的多个子类(红色突出显示)中的任何一个.
当使用Nibs进行此 *** 作时,我可以创建一个Nib,Sharednib.xib&将类设置为MFMasterVIEwController,然后创建我的子类,说MFMasterVIEwControllerSubclassA,MFMasterVIEwControllerSubclassB等.然后实例化我想要使用的子类
MFMasterVIEwControllerSubclassA *controller = [[MFMasterVIEwControllerSubclassA alloc] initWithNibname:@"Sharednib" bundle:nil];
要么…
MFMasterVIEwControllerSubclassB *controller = [[MFMasterVIEwControllerSubclassB alloc] initWithNibname:@"Sharednib" bundle:nil];
等等
关于我如何使用故事板获得这个权利的任何线索?
在我的情况下,想要这样做的原因是我所有的子类都是相同的tablevIEw&数据但排序不同&在写入电子邮件的详细文本中有一些区别.我怀疑这是一个不常见的模式.
干杯& TIA,
佩德罗:)
基本上你需要从MFMasterVIEwController分离UItableVIEwDataSource(也可能是委托),所以当执行segue时,你可以在视图控制器中设置正确的dataSource和委派.
所以在导航控制器中你需要实现prepareForSegue:sender:方法.这是您可以在执行之前自定义segue的位置:
- (voID)prepareForSegue:(UIStoryboardSegue *)segue sender:(ID)sender { // you can set the segue IDentifIEr using Interface Builder // also it is a good thing to make sure which segue you're using if (([segue IDentifIEr] isEqualToString:@"TheID"]) { ID<UItableVIEwDataSource> dataSource = [[tableVIEwDataSourceImplementationA alloc] init]; [[[segue destinationVIEwController] tableVIEw] setDataSource:dataSource]; }} 这样,您可以获得所需的自定义,而无需创建视图控制器的子类.
如果您有访问WWDC视频,请查看会话#407在您的应用程序中采用故事板.
总结以上是内存溢出为你收集整理的ios – 如何在多个UIViewControllers之间共享一个故事板场景全部内容,希望文章能够帮你解决ios – 如何在多个UIViewControllers之间共享一个故事板场景所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)