我一直在更新我为其他人构建的应用程序。在更新中,我正在创建故事板segues等等,并且几乎完成了应用程序。一个小小的问题是,当我用相机拍照并且图像显示在TakenImageView中时,NavBar不可见。然而,如果我从画廊走到TakenImageView,NavBar会显示出来!啊。 图像选择器从HomeView呈现,然后在用户选择相机或图库后移动到TakenImage。 我试图改变准备并执行Segue,但是当选择图像或从相机的UsePhoto中,segue不会从库中触发。我可以将图像传送到TakenImageView的唯一方法是通过在代码中实例化视图来手动设置。见下文......
- (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注释掉,因为当使用前面提到的执行时,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。 仍然,NavBar没有显示......但只有在用相机拍照后! 而且,是的,我将导航栏设置为不隐藏在HomeView和TakenView中。这是在两个控制器的viewWillAppear中。
目标是iOS7.1及更高版本。运行Xcode 7。
我很感激任何人提供的一些帮助,提示导致导航栏无法从相机中显示的内容,当然还有一种解决方法!谢谢!
答案 0 :(得分:0)
即使尝试了很多场景,我也无法在相机后使用导航栏显示下一个视图。 因此,在看到不同帖子中的提示后,我删除了主视图和拍摄视图之间的导航控制器,将模拟度量标准/顶栏的属性更改为无,并在TakenView中将工具栏插入其中并且两个以下观点。是的,它需要在Storyboard中进行更多的工作,我必须在标题应该添加一个标签,但它都在运行。并且,除了将后退或取消按钮更改为unwindSegues之外,我没有必要再添加任何代码。