这个问题之前出现了,但是接受的解决方案似乎并没有解决我的问题,这就是为什么我希望另一组眼睛能够抓住我做错的事情。我正在尝试提供第二个导航控制器,其背景为黑色和半透明的iPhone应用程序,以便用户可以看到先前视图控制器的内容。这是代码:
-(void)viewDidLoad
{
[super viewDidLoad];
RootViewController *rvc = [[UIStoryboard storyboardWithName:@"RootView" bundle:nil] instantiateViewControllerWithIdentifier:@"RootViewRVC"];
self.nvc = [[UINavigationController alloc] initWithRootViewController:rvc];
self.nvc.modalPresentationStyle = UIModalPresentationOverCurrentContext;
[self presentViewController:self.nvc animated:YES completion:nil];
}
上面的代码产生了这个:
该应用目前正在为导航控制器和rootviewcontroller使用故事板,并显示我正在尝试实现的内容:
TableViewController是两个图像中与rootviewcontroller相关联的属性(代码使用相同的故事板)。从导航控制器故事板,Xcode 8中的属性检查器将“Presentation”设置为“Over Current Context”(虽然“Over Full Screen”也可以工作),这似乎可以解决问题,但我更喜欢以编程方式执行此操作,因此没有解决方案请使用故事板。
答案 0 :(得分:0)
这可能有效:
-(void)viewDidLoad
{
[super viewDidLoad];
RootViewController *rvc = [[UIStoryboard storyboardWithName:@"RootView" bundle:nil] instantiateViewControllerWithIdentifier:@"RootViewRVC"];
rvc.modalPresentationStyle = UIModalPresentationOverCurrentContext;
self.nvc = [[UINavigationController alloc] initWithRootViewController:rvc];
[self.nvc.view setBackgroundColor:[UIColor colorWithRed:1.0 green:0 blue:0 alpha:0.5]];
[self presentViewController:self.nvc animated:YES completion:nil];
}