Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Can';无法从导航控制器下的视图控制器查看内容_Ios_Objective C_Iphone_Uinavigationcontroller_Uimodalpresentationstyle - Fatal编程技术网

Ios Can';无法从导航控制器下的视图控制器查看内容

Ios Can';无法从导航控制器下的视图控制器查看内容,ios,objective-c,iphone,uinavigationcontroller,uimodalpresentationstyle,Ios,Objective C,Iphone,Uinavigationcontroller,Uimodalpresentationstyle,这个问题以前也提过,但公认的解决方案似乎不能解决我的问题,这就是为什么我希望另一双眼睛能看到我做错了什么。我试图为iPhone应用程序提供第二个导航控制器,其中背景为深色半透明,因此用户可以看到先前视图控制器的内容。代码如下: -(void)viewDidLoad { [super viewDidLoad]; RootViewController *rvc = [[UIStoryboard storyboardWithName:@"RootView" bundle:nil] in

这个问题以前也提过,但公认的解决方案似乎不能解决我的问题,这就是为什么我希望另一双眼睛能看到我做错了什么。我试图为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”也起作用),这似乎可以做到这一点,但我更喜欢通过编程实现,因此请不要使用情节提要解决方案。

这可能会起作用:

-(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];
}

是的,我也看到了这个问题,但由于某种原因,接受的解决方案对我不起作用。将definesPresentationContext设置为YES。Rajesh-您发送的链接还在将
modalPresentationStyle
设置为
OverCurrentContext
,这是我在按下导航控制器之前正在执行的操作。尝试设置definePresentationContext,但它所做的只是将第二个导航控制器的导航栏移到原始控制器下方;无法解决我无法解决的透明问题。请尝试下面的问题。UIColor*颜色=。。。;颜色=[颜色与字母成分:0.5f];[self.nvc.view setBackgroundColor:color];