presentViewController具有自定义转换

时间:2013-01-30 10:55:38

标签: ios uiviewcontroller modal-dialog transitions

我想提供一个模态UIViewController,它具有与工具包可用的转换不同的转换。确切地说,我喜欢倒置动画与底部幻灯片(UIModalTransitionStyleCoverVertical)相比,present =从顶部滑入,dismiss =从顶部滑出。

我不认为UIModalTransitionStyleCoverVertical有一个简单的选项可以倒置,所以我想我需要自己制作一个。

我也没有使用segue / storyboard,不确定这是否有所作为。

我找到了一些解决方案,建议简单地为新的viewcontroller视图设置动画,并使用带有动画选项的presentViewController作为NO。不幸的是,我遇到的问题是背景会立即变黑,即使我定义了具有清晰背景而不是不透明的新viewcontroller视图。

知道如何解决这个问题吗?非常感谢!

2 个答案:

答案 0 :(得分:1)

我解决了不透明的背景问题,截取屏幕截图并将其用作模态视图控制器的背景。

答案 1 :(得分:0)

  1. 使用CATransition应用您的自定义动画。

  2. 将呈现的视图控制器的modalPresentationStyle属性设置为UIModalPresentationCustom(适用于iOS 7或更高版本)。另请参见UIModalPresentationOverCurrentContext iOS8或UIModalPresentationCurrentContext。

  3. 对于我的情况,我想要相同的动画风格,但我只需要为iOS 8使用UIModalPresentationOverCurrentContext。