ios AlertController之用viewcontroller的模态模式做弹窗

最近又做了一波弹窗。。之前大部分都是直接搬运一波,偶尔自己写一波。。。为了能让自己以后还有口饭吃。。。再决定写一波

写弹窗以前在[UIApplication sharedApplication].keyWindow  或者[[[UIApplication sharedApplication] delegate] window]上直接添加一个view。。简单粗暴,方便快捷。。

这样做也没啥不好。

但是,今天的我,与众不同。。仔细研究了一下viewcontroller的模态显示。。viewcontroller的专场一般有以下几种:

1.在 UINavigationController 中 push 和 pop;

2.在 UITabBarController 中切换 Tab;

3.Modal 转场:presentation 和 dismissal,俗称视图控制器的模态显示和消失。

今天我就用到了Modal专场

在我们present一个VC的时候把控制器的modalPresentationStyle 设置为UIModalPresentationOverFullScreen。为啥要这样设置?因为这样可以使下一个控制器变为半透明。接下来,在present的时候 直接关闭动画效果。这样就模仿了系统的弹窗显示样式。

如下图:

喵喵喵

OK。。。阴影蒙板效果搞出来之后,我们就在上面可以布局了。。。想怎么搞就怎么搞。。然后我就搞出了上面的样式。。。

之后,我们在弹窗控制器上添加单击手势,点击关闭弹窗效果。

布局完成之后,添加一下动画效果。

 [UIView animateWithDuration:0.35 animations:^{

        __strongtypeof(weakSelf) strongSelf = weakSelf;

        [strongSelf.pushListViewsetFrame:CGRectMake(0,UIScreenHeight-modulsH -140-15-20,UIScreenWidth, modulsH +140-15-20)];

    }];

在上面的关闭按钮添加

[UIView animateWithDuration:0.35 animations:^{

        __strongtypeof(weakSelf) strongSelf = weakSelf;

        [strongSelf.pushListViewsetFrame:CGRectMake(0,UIScreenHeight,UIScreenWidth,0)];

        strongSelf.view.alpha=0;

    }completion:^(BOOLfinished) {

        if(finished) {

            [weakSelfdismissViewControllerAnimated:NO completion:nil];

        }

    }];

哦。。记得,动画效果不要放在viewDidLoad中,放在viewWillAppear,不然会和控制器的转场动画冲突,导致不显示动画。。。

好了,接下来附上GitHub连接,有需要的小伙伴可以直接搬运去看看,有问题请大佬多多指点。

https://github.com/huangdougod/WYPopVC_Demo/tree/master

GitHub - huangdougod/WYPopVC_Demo: 一个基于模态viewcontroller的视图弹窗

恩,进步虽然少,但是也得慢慢往前爬么。。。。


2018.12.3:将window层添加弹窗的模式放到demo里了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,062评论 3 119
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,796评论 25 709
  • 《海街日记》是以香田三姐妹在一起吃饭为开头,画面温馨、平淡、温暖,体现日式电影一贯清新风格,整篇电影没有大的起伏,...
    可可熊Q阅读 5,139评论 2 6
  • 本来是写在知乎一个问题里的,发简书看看,希望大家给点意见! 一 2018年2月29日,凌晨。 英国剑桥市,一间破烂...
    云南雨阅读 3,975评论 1 1
  • 女人篇 “我们分手吧,放过彼此,别再互相折磨了。”说完,他搂着另一具妖娆的腰肢,决然离去。 春暖花开的时节,她的心...
    老猫solo阅读 2,586评论 28 11

友情链接更多精彩内容