iOS模态出半透明的视图

2019-03-18  本文已影响0人  跃文

模态出一个半透明的视图,在目标视图中设置背景颜色然后发现模态动作结束后变成了黑色或者不是半透明的颜色。

解决方案:

- (void)presentViewController {

    MyAlertController * alertVC = [MyAlertController new];

    alertVC.definesPresentationContext = YES; //self is presenting view controller
    alertVC.view.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:.4];
    alertVC.modalPresentationStyle = UIModalPresentationOverCurrentContext;

    [self presentViewController:testVC animated:YES completion:nil];
}

注意:如果present 一个UINavigationController,不能完全使用上面代码。

- (void)presentNavigationController {

    MyAlertController * alertVC = [MyAlertController new];
    alertVC.definesPresentationContext = YES; //self is presenting view controller
    alertVC.view.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:.5];
//    alertVC.modalPresentationStyle = UIModalPresentationOverCurrentContext;
    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController: alertVC];
    nav.modalPresentationStyle = UIModalPresentationOverCurrentContext;
    nav.view.backgroundColor = [UIColor clearColor];

    [self presentViewController:nav animated:YES completion:nil];
}
上一篇下一篇

猜你喜欢

热点阅读