当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 的透明度
网友评论