自定义modal

默认情况下,modal会移除以前控制器的view,替换为当前弹出的view.如果自定义转场,那么就不会移除以前控制器的view。我们需要两个对象来实现自定义modal,一个UIPresentationController的子类以及一个遵从UIViewControllerTransitioningDelegate协议的类。

我们的UIPresentationController的子类是负责「被呈现」及「负责呈现」的controller以外的controller的,看着很绕口,说白了,在我们的例子中,它负责的仅仅是那个带渐变效果的黑色半透明背景View。

而UIViewControllerAnimatedTransitioning类将会负责「被呈现」的ViewController的过渡动画。

利用UIViewControllerAnimatedTransitioning实现controller间自定义切换动画

iOS7中引入了controller之间切换动画,适用于UINavigationController栈内切换,也适用于modal显示。

你可能感兴趣的:(自定义modal)