自定义关系转场

Riv*_*era 5 ios uistoryboard segue

由于 Storyboards 中的场景无法使用 连接IBOutlets,因此 segues 将是一个很好的方法。

虽然创建自定义转场很容易,但似乎没有办法创建自定义“关系转场”。

在此处输入图片说明

是这样吗?只有 Apple 可以创建这样的转场(UITabBarController's viewControllersUINavigationController'srootController等)?

Riv*_*era 1

现在我们真的可以做到这一点!

在此输入图像描述

只需创建一个自定义UIStoryboardSegue子类,然后它将在 Interface Builder 中可用。

结果与创建“自定义”segue 并将其类设置为您的子类相同。

KWDrawerController库中的示例:

public class DrawerEmbedRightControllerSegue: UIStoryboardSegue {

    final public override func perform() {
        if let sourceViewController = source as? DrawerController {
            sourceViewController.setViewController(destination, for: .right)
        } else {
            assertionFailure("SourceViewController must be DrawerController!")
        }
    }

}
Run Code Online (Sandbox Code Playgroud)