iOS视图控制器开发全解析
1. 展开转场(Unwind Segue)机制及定制
展开转场是iOS开发中一个重要的功能,它允许我们在视图控制器栈中返回到之前的视图控制器。在这个过程中, UITabBarController
会将其 selectedViewController
更改为 UINavigationController
,运行时会向 UINavigationController
发送 unwind(for:towards:)
消息,第二个参数是 FirstViewController
,导航控制器会将其栈弹出到 FirstViewController
,从而有序销毁 PushedViewController
,回到 FirstViewController
。
我们可以对展开转场进行定制,具体方法如下:
- canPerformUnwindSegueAction(_:from:withSender:)
:在包含展开方法实现的自定义视图控制器中,实现此方法并返回 false
,这样该视图控制器就不会成为此次展开转场的目标。
- allowedChildrenForUnwinding(from:)
:在自定义父视图控制器中实现此方法。通常,实现方式