到目前为止,我正在使用UISplitViewController构建我的应用程序。要为masterView添加隐藏功能(向左移出屏幕),我创建了一个自定义视图控制器,其中包含两个容器视图窗体masterView和detailsView。事情按预期工作。
现在在某个地方我使用了替换segue来替换细节视图。这就是问题所在。如何创建一个自定义segue,将viewController嵌入到容器视图中,就像替换segue一样?
答案 0 :(得分:2)
我通常会创建一个这样的自定义segue:
@interface MyCustomSegue:UIStoryboardSegue
@end
@implementation MyCustomSegue
- (void)perform {
UIViewController* src = (UIViewController*) self.sourceViewController;
MyViewControllerClass* dst = (MyViewControllerClass*) self.destinationViewController;
[src addChildViewController:dst];
[src.view addSubview:dst.view];
//This line uses FLKAutolayout library to setup constraints
[dst.view alignToView:src.view];
}
@end
然后您应该能够在故事板中绘制自定义segue(在绘制线条后释放鼠标按钮时,它应显示在segue菜单中)。
这是我能想到的最简单的方法,您可以自定义源视图控制器以具有自定义容器视图(而不是src.view)和对目标视图控制器的引用。 您也可以编写自定义AutoLayout约束代码而不是使用FLKAutoLayout(这是非常棒的BTW)。