Iphone u导航控制器弹出标题,但不显示控制器

Iphone u导航控制器弹出标题,但不显示控制器,iphone,uinavigationcontroller,uiimagepickercontroller,Iphone,Uinavigationcontroller,Uiimagepickercontroller,以下是设置:我有一个UIViewController,其中有一个UITableView。当触摸其中一个单元格时,会出现一个操作表,提供从库中选择照片或拍摄新照片的选项。无论哪种情况,我都会显示一个UIImagePickerController,如下所示: 在我的接口声明中 UIImagePickerController* imageController; 在viewDidLoad中: imageController = [[UIImagePickerController alloc] init

以下是设置:我有一个
UIViewController
,其中有一个
UITableView
。当触摸其中一个单元格时,会出现一个操作表,提供从库中选择照片或拍摄新照片的选项。无论哪种情况,我都会显示一个
UIImagePickerController
,如下所示:

在我的接口声明中

UIImagePickerController* imageController;
在viewDidLoad中:

imageController = [[UIImagePickerController alloc] init];
imageController.delegate = self;
imageController.allowsEditing = YES;
在我的操作表委托方法中

if(buttonIndex == 2)
    return;

UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;

if(buttonIndex == 1)
    sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

imageController.sourceType = sourceType;

[self presentModalViewController:imageController animated:YES];
这很好,图像选择器就会显示出来。然而,从这一点上看,导航控制器似乎不能正常工作。我可以打电话

[self.navigationController popViewControllerAnimated:YES];
导航栏中的标题将随标准pop动画而更改,但控制器本身不会消失。这仅在显示图像选择器控制器后发生。我可以在显示控制器之前取消操作表,并且根本没有任何问题

我已经包括了一个短视频链接,因为这个应用程序已经上线了-这只是一个重建

我已经尝试从导航控制器和选项卡栏控制器显示模式-相同的结果。我已使用此调用尝试了其他显示方法:

[self presentViewController:imageController animated:YES completion:^{}];
我已经验证了我的导航控制器不是nil,并且适当的控制器在堆栈上。任何帮助都将不胜感激。提前谢谢。

试试这个, 如果使用显示viewController

[self presentModalViewController:imageController animated:YES];
你必须带着你的观点

[imageController dismissViewControllerAnimated:YES completion:nil];
因为popViewController将在使用pushViewController显示视图时使用


对不起,我的英语不好。

要关闭使用
presentModalViewController:animated:
添加的控制器,您应该使用

[self.navigationController dismissModalViewControllerAnimated:YES]

检查您正在推送viewcontroller的位置的代码。可能是因为当我推送堆栈上的控制器时并没有什么奇怪的地方。我打电话给[self-PerformsgueWithIdentifier:@“SeguName”发件人:self]。我的prepareForSegue方法并不复杂,只设置目标控制器上的值。我还尝试注释prepareForSegue方法中的所有内容,但仍在进行。更新如果在到达导航堆栈顶部后在选项卡之间切换,我可以刷新屏幕,应用程序将正常运行。可能导航控制器中的某些内容出错,并且没有调用“ViewWillDisplay”或“ViewWillEnglishe”?请看这里的演示视频:解决方案找到了一个完整的解决方案,这是一个彻底的黑客攻击-当图像选择器被解除时,我切换我的选项卡栏控制器的选定选项卡,然后再次返回。这会导致导航控制器以某种方式复位。我知道-这是一个黑客,我仍然不知道到底是怎么回事,但它的工作!!!我刚试过这个,我仍然有同样的问题。谢谢你的建议,但我还是有同样的问题。