iOS UIViewController透明子控件不透明方法

当AlertViewController 弹窗不满足的时候,会试着去自己封装一个弹出框,经过查询文档,官方API发现 AlertViewController其实就是继承的ViewController,既然如此何必不自己封装一个呢,尤其是用XIB 效率高,搭建简单这里只是简单的介绍ViewController透明搭建,以及跳转方式;

有学习交流的,可在下方留言,欢迎吐槽

代码附上:

弹出窗用的是:presentViewController 模态方法跳转

1.必须设置modalPresentationStyle 属性 为UIModalPresentationOverCurrentContext (iOS 9)设置模态出来的页面必须是蒙版类型的否则无法在跳出来的页面上看不到ViewController内容

例:SJ_AlertViewController *alterVC = [[SJ_AlertViewController alloc] init];

    alterVC.modalPresentationStyle = UIModalPresentationOverCurrentContext;

    [self presentViewController:alterVC animated:NO completion:Nil];

(动画根据自己需求,自己加)

2.模态出来的页面设置透明度(透明度30%就可以了)

self.view.backgroundColor = [UIColor colorWithRed:<#(CGFloat)#> green:<#(CGFloat)#> blue:<#(CGFloat)#> alpha:<#(CGFloat)#>]

⚠️注意:BUG 解决(透明度设置完毕之后,会发现ViewContorller下的子视图也会跟着变得透明尤其是在XIB)

问题原因:View的alpha透明会出现这个BUG而我们要的是背景颜色的透明不是view 的 透明

因此

解决方案: view的alpha设置为1 不透明  设置要设置的透明的是背景颜色的透明度而不是View 的透明度

 

欢迎入驻Ios 技术交流群 811548343

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值