如果我正确地理解了您,您要实现的目标是向ViewControllers
父母展示您的其中一个,并且仍然在后台看到父母ViewController
。
第一个解决方案:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"SecondViewController"];
vc.view.backgroundColor = [UIColor clearColor];
self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext; //self.modalPresentationStyle might do a better job here
[self presentViewController:vc animated:NO completion:nil];
确保你的SecondViewController
内容小于你当前的 ``ViewController` 并且你可以在 StoryBoard\xib 中看到它的背景颜色。背景颜色将清晰并创建透明效果。
第二种解决方案:
创建一个容器(如果您计划使用 Storyboard IB,iOS 6 及更高版本,低于此值将允许您创建容器,但只能逐步创建)。
将容器大小设置为父大小的 3/4,并将第二个视图控制器连接到它。而不是 segueing \ 推送到您的第二个视图控制器,您可以
myContainer.alpha = 1;
在屏幕上显示它。