我正在使用以下代码以模态方式启动视图控制器。此视图控制器不是从头开始创建的。相反,我在故事板中创建并设计了它,给它命名,将其嵌入导航控制器中,因此它有一个导航栏并创建了取消和完成按钮,给它一个标题,下面的代码启动它。
问题在于,虽然屏幕的大部分功能都会显示,例如标签和图像,但您可以在故事板中看到的标题和导航栏消失。有没有人遇到这个问题,并有一个解决方案吗?
我的代码用于启动在故事板中创建的VC。
- (void) editView:(id) sender
{
NSLog(@"launch button pressed");
UIStoryboard *storyBoard = self.storyboard;
IDEditVC *editVC =
[storyBoard instantiateViewControllerWithIdentifier:@"editvc"];
editVC.item = _item;
[self presentModalViewController:editVC animated:YES];
}
答案 0 :(得分:1)
我认为正在发生的事情是,由于您直接通过名称实例化视图控制器,因此它只是从故事板中获取而不是将其嵌入到导航控制器中。
试试这个:
编辑: 根据您在下面的评论,您可能想尝试这样做:
- (void) editView:(id) sender
{
NSLog(@"launch button pressed");
UIStoryboard *storyBoard = self.storyboard;
IDEditVC *editVC =
[storyBoard instantiateViewControllerWithIdentifier:@"editvc"];
editVC.item = _item;
UINavigationController *nav = [UINavigationController alloc] initWithRootViewController: IDEditVC];
// Do whatever setup you want to here for your title bar, etc
[self presentModalViewController:nav animated:YES];
}
答案 1 :(得分:0)
尝试使用PushViewController而不是实例化:
祝你好运