【发布时间】:2015-10-15 09:08:58
【问题描述】:
我一直在更新我为我构建的其他应用程序。在更新中,我正在设置故事板转场等,并且已经让应用程序几乎完成。一个小问题是当我用相机拍照并且图像显示在 TakenImageView 中时,导航栏是不可见的。然而,如果我从画廊转到 TakenImageView,NavBar 就会显示!啊。 图像选择器从 HomeView 呈现,然后在用户选择相机或图库后移动到 TakenImage。 我已尝试更改为准备并执行 Segue,但在选择图像或从相机的 UsePhoto 时,segue 不会从图库中触发。我可以将图像获取到 TakenImageView 的唯一方法是通过在代码中实例化视图来手动进行 segue。见下文...
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info;
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
TakenImageVC *takenVC = [storyboard instantiateViewControllerWithIdentifier:@"TakenImageVC"];
takenVC.takenimage = [info objectForKey:UIImagePickerControllerOriginalImage];
[picker pushViewController:takenVC animated:YES];
//_pickerImage = [info objectForKey:UIImagePickerControllerOriginalImage];
//[self performSegueWithIdentifier:@"TakenSegue" sender:self];
}
为segue做准备只有这三个。前两个是模态的,并且从按钮链接。 TakenSegue 正在从控制器链接。当然,我已将destinationController 注释掉,因为如前所述,在使用perform 时segue 不会触发。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"InfoSegue"])
{
NSLog(@"Info Modal view");
}
if ([segue.identifier isEqualToString:@"HelpSegue"])
{
NSLog(@"Help Modal view");
}
if ([segue.identifier isEqualToString:@"TakenSegue"])
{
NSLog(@"Taken Segue");
//TakenImageVC *takenVC = segue.destinationViewController;
//takenVC.takenimage = _pickerImage;
}
}
在尝试不同的方法时,我在 HomeView 和 TakenImageView 之间添加了一个 NavigationController,并在属性中将类更改为 UIImagePickerController。 仍然,导航栏没有显示......但只有在用相机拍照后! 而且,是的,我将导航栏设置为不隐藏……在 HomeView 和 TakenView 中。这在两个控制器的 viewWillAppear 中。
目标是 iOS7.1 及更高版本。运行 Xcode 7。
如果有人能提供一些关于导致导航栏无法从相机中显示出来的提示的帮助,我将不胜感激,当然,还有一种解决方法!谢谢!
【问题讨论】:
标签: objective-c uiimagepickercontroller xcode7 uistoryboardsegue ios7.1