1.在开发中,可能会遇到这样的需求,需要模态出一个控制器,并且这个控制器的view的背景色有个透明度,如果我们直接写:
WWTwoViewController *twoVc = [[WWTwoViewController alloc] init];
[self presentViewController:twoVc animated:YES completion:nil];
再设置控制器twoVc
的view为透明背景色是不可能实现如上需求的,你看到得会是黑黑的一片:
这时你需要设置twoVc
的几个属性,代码如下:
WWTwoViewController *twoVc = [[WWTwoViewController alloc] init];
twoVc.providesPresentationContextTransitionStyle = YES;
twoVc.definesPresentationContext = YES;
[twoVc setModalPresentationStyle:UIModalPresentationOverCurrentContext];
[self presentViewController:twoVc animated:YES completion:nil];
如上图所示,就实现我们的需求。
2.如果想要模态一个导航控制器