模态一个透明弹窗 ViewController

// 弹窗
- (void)popLivePopupViewController:(LiveBtnType)type
{
    LivePopupViewController *vc = [[LivePopupViewController alloc]init];
    vc.type = type;
    __weak typeof(self) weakself = self;
    vc.btnClickBlock = ^(int type, id data) {
        [weakself popupViewBtnAction:type data:data];
    };
    
    vc.view.backgroundColor = [UIColor colorWithWhite:0 alpha:0.25];
    float version = [UIDevice currentDevice].systemVersion.floatValue;
    if (version < 8.0)
    { // iOS 7 实现的方式略有不同(设置self)
        self.modalPresentationStyle = UIModalPresentationCurrentContext;
        // iOS8以下必须使用rootViewController,否则背景会变黑
        [self.view.window.rootViewController presentViewController:vc animated:YES completion:^{ }];
    }
    else
    { // iOS 8 以上实现(设置vc)
        vc.modalPresentationStyle = UIModalPresentationOverCurrentContext|UIModalPresentationFullScreen;
        //如果控制器属于navigationcontroller或者tababrControlelr子控制器,不使用UIModalPresentationFullScreen 的话, bar 会盖住你的modal出来的控制器
        [self presentViewController:vc animated:YES completion:nil];
    }
}

你可能感兴趣的:(模态一个透明弹窗 ViewController)