[iOS]modalPresentationStyle和modalTransitionStyle

来源:互联网 发布:java 图片 base64 编辑:程序博客网 时间:2024/05/11 00:27

首先说一下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

协议,这块东西比较多,以后有时间再写吧。

UIModalPresentationOverFullScreen
UIModalPresentationOverCurrentContext
这两种动画上没有区别,但是之前的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


好了,就到这了。

0 0
原创粉丝点击