我有三个视图控制器(vc1,vc2,vc3)和两个导航控制器(nav1,nav2) .
nav1是故事板的入口点 .
vc1是nav1的rootViewController .
vc2是nav2的rootViewController .
nav2从vc1到nav1呈现 .
现在,当我尝试从vc2到nav2呈现vc3时,导航栏没有显示 .
您需要使用navigationController呈现您的控制器 .
ViewController *objVC = [self.storyboard instantiateViewControllerWithIdentifier:@"viewcontrollerid"]; UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:objVC]; [self.navigationController presentViewController:navController animated:YES completion:nil];
现在,iOS的工作方式,它永远不会在呈现的视图控制器中为您提供导航控制器的实例,因为 when you present a view controller, it is not added to the viewcontroller stack of the navigation controller. 您可以在其他两个中看到导航控制器的原因是因为您要呈现导航控制器本身而不是视图控制器 .
2 回答
您需要使用navigationController呈现您的控制器 .
现在,iOS的工作方式,它永远不会在呈现的视图控制器中为您提供导航控制器的实例,因为 when you present a view controller, it is not added to the viewcontroller stack of the navigation controller. 您可以在其他两个中看到导航控制器的原因是因为您要呈现导航控制器本身而不是视图控制器 .