首先说一下modalPresentationStyle。
当你用present的方式呈现一个viewController的时候,可以设置将要弹出的viewcontroller的展示样式,对于iPhone和iTouch来说,一般主要就是三种。
先看一下所有的。
typedef NS_ENUM(NSInteger, UIModalPresentationStyle) {
UIModalPresentationFullScreen = 0,
UIModalPresentationPageSheet NS_ENUM_AVAILABLE_IOS(3_2) __TVOS_PROHIBITED,
UIModalPresentationFormSheet NS_ENUM_AVAILABLE_IOS(3_2) __TVOS_PROHIBITED,
UIModalPresentationCurrentContext NS_ENUM_AVAILABLE_IOS(3_2),
UIModalPresentationCustom NS_ENUM_AVAILABLE_IOS(7_0),
UIModalPresentationOverFullScreen NS_ENUM_AVAILABLE_IOS(8_0),
UIModalPresentationOverCurrentContext NS_ENUM_AVAILABLE_IOS(8_0),
UIModalPresentationPopover NS_ENUM_AVAILABLE_IOS(8_0) __TVOS_PROHIBITED,
UIModalPresentationNone NS_ENUM_AVAILABLE_IOS(7_0) = -1,
};其中前四种和UIModalPresentationPopover
对于iPhone和iTouch来说,都是一样的。
Custom类型的话,需要用户自己去重写动画,利用
UIViewControllerContextTransitioning
协议,这块东西比较多,以后有时间再写吧。
UIModalPresentationOverFullScreenUIModalPresentationOverCurrentContext这两种动画上没有区别,但是之前的viewcontroller的view会被放在下面,不会被移除。
最后一个一用就崩,没仔细研究。
下面说一下modalTransitionStyle
这个是修改modal动画用的,有下面几种。
typedef NS_ENUM(NSInteger, UIModalTransitionStyle) {
UIModalTransitionStyleCoverVertical = 0,
UIModalTransitionStyleFlipHorizontal __TVOS_PROHIBITED,
UIModalTransitionStyleCrossDissolve,
UIModalTransitionStylePartialCurl NS_ENUM_AVAILABLE_IOS(3_2) __TVOS_PROHIBITED,
};第一种就不讲了,就是普通动画,然后我展示一下下面的三种动画。
UIModalTransitionStyleFlipHorizontal
UIModalTransitionStyleCrossDissolve
UIModalTransitionStylePartialCurl
好了,就到这了。
本文介绍了iOS中使用present方式呈现viewController时,modalPresentationStyle的不同样式,特别是针对iPhone和iTouch的三种主要样式。同时提到了modalTransitionStyle用于自定义modal动画的选项,并列举了几种常见动画类型。

566

被折叠的 条评论
为什么被折叠?



