文档章节

modal的样式及 半透明控制器效果

biyu6
 biyu6
发布于 2016/05/26 16:33
字数 338
阅读 185
收藏 1

modal出半透明的控制器:

    UIViewController * maskVC = [[UIViewController alloc] init];

    

    //设置页面的透明度

    maskVC.view.backgroundColor = [UIColor colorWithFullRed:0 green:0 blue:0 alpha:0.4];

    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {

        maskVC.providesPresentationContextTransitionStyle = YES;

        maskVC.definesPresentationContext = YES;

        maskVC.modalPresentationStyle = UIModalPresentationOverCurrentContext;

        [self presentViewController:maskVC animated:YES completion:nil];

    } else {

        self.view.window.rootViewController.modalPresentationStyle = UIModalPresentationCurrentContext;

        [self presentViewController:maskVC animated:NO completion:nil];

        self.view.window.rootViewController.modalPresentationStyle = UIModalPresentationFullScreen;

    }

  • 什么叫呈现样式
  • Modal出来的控制器,最终显示出来的样子
  • Modal常见有5种呈现样式
  • UIModalPresentationFullScreen :全屏显示(默认)
  • UIModalPresentationPageSheet
  • 宽度:竖屏时的宽度(768)
  • 高度:当前屏幕的高度(填充整个高度)
  • UIModalPresentationFormSheet :占据屏幕中间的一小块
  • UIModalPresentationCurrentContext :跟随父控制器的呈现样式
  • UIModalPresentationPopover:被popover包装过的样式
  •  
  •  
  • 什么叫过渡样式
  • Modal出来的控制器,是以怎样的动画呈现出来
  • Modal一共4种过渡样式
  • UIModalTransitionStyleCoverVertical :从底部往上钻(默认)
  • UIModalTransitionStyleFlipHorizontal :三维翻转
  • UIModalTransitionStyleCrossDissolve :淡入淡出
  • UIModalTransitionStylePartialCurl :翻页(只显示部分,使用前提:呈现样式必须是UIModalPresentationFullScreen)
  •  

 

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

    

    UIViewController *vc = [[UIViewController alloc] init];

    vc.view.backgroundColor = [UIColor yellowColor];

    

    /*modal呈现样式-->iPhone中不起作用

     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,

     */

    vc.modalPresentationStyle = UIModalPresentationFormSheet;//呈现样式

    

    

    /*modal的过渡样式

     UIModalTransitionStyleCoverVertical = 0,

     UIModalTransitionStyleFlipHorizontal __TVOS_PROHIBITED,

     UIModalTransitionStyleCrossDissolve,

     UIModalTransitionStylePartialCurl

     */

    vc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

    [self presentViewController:vc animated:YES completion:nil];

    

}

 

 

© 著作权归作者所有

biyu6
粉丝 5
博文 30
码字总数 2657
作品 0
昌平
程序员
私信 提问
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记44 Popover Segue

在上一话中我们看了一个Demo,使用modal的方式,但其实如果要考虑到适配Iphone和Ipad设备的话,默认的modal会充满屏幕,而popover可以只占据屏幕上的一小块,之前我们讲过在Iphone中使用pop...

cg1991130
2015/08/28
0
0
2017/3/30日志

2017/3/30日志 今天继续完善微客服后台 遇到的问题: 1.半透明阴影笼罩页面问题 $(".modal-backdrop").remove(); 需要移除一个class=modal-backdrop的div样式 2.需要加验证的地方下次要自己发...

段东伟
2017/03/30
2
0
UITabBarController和UINavigationController的区别

UITabBarController 和UINavigationController都可以作为 window的根控制器(rootViewController),但界面内容的展示样式是不同的。其区别如下: 1 UITabBarController的导航栏展示位置在屏幕...

奋斗的青春年华
2016/06/20
186
0
FIFO和LIFO自动管理modal控制器

在一个App中,弹窗一直是一个使用频率较高的提示类控件。苹果对用户体验方面的重视程度有多高,在弹窗的处理上就能体现出这一点来。不知你是否留意过新安装的App上的弹窗显示顺序?通常是这样...

HJaycee
2017/04/14
0
0
iOS开发UINavigation系列一——导航栏UINavigtionBar

iOS开发UINavigation系列一——导航栏UINavigtionBar 一、导航栏的使用 在iOS开发中,我们通常会使用导航控制器,导航控制器中封装了一个UINavigationBar,实际上,我们也可以在不使用导航控...

珲少
2015/11/08
5.2K
1

没有更多内容

加载失败,请刷新页面

加载更多

006-Docker中导出单个或多个tar包

docker中导出单个镜像和多个镜像的tar包 docker save [images] > [name.tar] docker save [images] [images] > [name.tar]...

伟大源于勇敢的开始
11分钟前
3
0
Kotlin基础语法学习

安装好安卓studio,以及插件支持Kotlin 就可以在创建项目的时候选择 Kotlin语言了。 https://www.jianshu.com/p/4ab13691d681 参考手册: https://www.runoob.com/kotlin/otlin-android-setu...

T型人才追梦者
35分钟前
4
0
java实现简单计算器

1.概述 之前作者写过一篇文章,也是关于计算器的,用的是C++与Qt,链接在这里 这次用java的swing写的(这差距好像有点大,好吧是qt太强了). 先上图: 2.UI 总体布局使用流布局. (1)文本框 文本框就...

Blueeeeeee
37分钟前
4
0
纯CSS实现DIV悬浮(固定位置)

纯CSS实现的DIV悬浮效果(固定位置),兼容常用的浏览器:IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗等。效果如下: 实现代码: <!DOCTYPE html> <html> <head> <meta ...

独钓渔
今天
5
0
OSChina 周二乱弹 —— 给我来个女菩萨

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @这次装个文艺青年吧 :#今日歌曲推荐#分享XXXTENTACION/Travis Barker的单曲《Pain = BESTFRIEND》: 《Pain = BESTFRIEND》- XXXTENTACION/...

小小编辑
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部