UIViewController * vc = [[UIViewController alloc]init];
// 在present一个viewController时会需要一个提供背景的viewController,设置definespresentationcontext为true可以把当前的viewController设置为present的背景,present时会从当前容器中找presentationcontext,没有找到就默认为当前容器的rootViewController。
vc.definesPresentationContext = YES;
vc.view.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:.4];
/*
UIModalPresentationFullScreen代表弹出VC时,presented VC充满全屏,如果弹出VC的wantsFullScreenLayout设置为YES的,则会填充到状态栏下边,否则不会填充到状态栏之下。
UIModalPresentationPageSheet代表弹出是弹出VC时,presented VC的高度和当前屏幕高度相同,宽度和竖屏模式下屏幕宽度相同,剩余未覆盖区域将会变暗并阻止用户点击,这种弹出模式下,竖屏时跟UIModalPresentationFullScreen的效果一样,横屏时候两边则会留下变暗的区域。
UIModalPresentationFormSheet这种模式下,presented VC的高度和宽度均会小于屏幕尺寸,presented VC居中显示,四周留下变暗区域。
UIModalPresentationCurrentContext这种模式下,presented VC的弹出方式和presenting VC的父VC的方式相同。
*/
vc.modalPresentationStyle = UIModalPresentationOverCurrentContext;
[self presentViewController:vc animated:YES completion:nil];
iOS模态出一个半透明的ViewControlle
最新推荐文章于 2021-05-29 01:59:48 发布