iOS 模态出一个半透明的ViewController presentViewController

释放双眼,带上耳机,听听看~!

最近项目有需求, 需要模态初一个半透明的视图, 好多人都碰到这个问题吧, 在目标视图中设置背景颜色然后发现模态动作结束后变成了黑色或者不是半透明的颜色。

所以今天来告诉大家解决方案

- (IBAction)Avtion1:(id)sender {
TestViewController * testVC = [TestViewController new];
self.definesPresentationContext = YES; //self is presenting view controller
testVC.view.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:.4];
testVC.modalPresentationStyle = UIModalPresentationOverCurrentContext;
[self presentViewController:testVC animated:YES completion:nil];
}
注意:如果present 一个NavController,不能完全使用上面代码。
- (IBAction)pushSecond:(id)sender{
SecondViewController * testVC = [SecondViewController new];
self.definesPresentationContext = YES; //self is presenting view controller
testVC.view.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:.5];
//    testVC.modalPresentationStyle = UIModalPresentationOverCurrentContext;
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:testVC];
nav.modalPresentationStyle = UIModalPresentationOverCurrentContext;
nav.view.backgroundColor = [UIColor clearColor];
[self presentViewController:nav animated:YES completion:nil];
}

人已赞赏
iOS文章

IOS二维码的生成与扫描过程(详解)

2020-1-3 9:56:49

iOS文章

iOS开发无限循环轮播

2020-1-3 10:22:21

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索