1

到目前为止,我在我的应用程序中使用 UISplitViewController。要为 masterView 添加隐藏功能(移出屏幕向左),我创建了一个自定义视图控制器,其中包含两个容器视图表单 masterView 和 detailsView。事情按预期工作。

现在在某个地方,我使用了替换转场来替换详细信息视图。问题来了。如何创建一个自定义 segue,将 viewController 嵌入到容器视图中,就像替换 segue 一样?

4

1 回答 1

3

我通常会像这样创建一个自定义 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

然后您应该能够在情节提要中绘制您的自定义转场(当您在画线后松开鼠标按钮时,它应该出现在转场菜单中)。

这是我能想到的最简单的方法,您可以自定义源视图控制器以具有自定义容器视图(而不是 src.view)和对目标视图控制器的引用。您还可以编写自定义 AutoLayout 约束代码,而不是使用 FLKAutoLayout(顺便说一句,这真的很棒)。

于 2014-05-07T07:44:59.403 回答