gpt4 book ai didi

ios - 如何将 UIImagePickerController 与 UINavigationController 结合使用

转载 作者:行者123 更新时间:2023-11-29 03:55:51 25 4
gpt4 key购买 nike

我在这里浏览了不同的类似问题,但找不到任何对我的问题有用的东西。我正在努力解决的问题很简单,但我无法弄清楚。

我正在使用 Xcode 4.6.2 和 Storyboarding。这是 Storyboard: enter image description here

这是我想要的工作流程:

  • 点击 tableVC 中的单元格应该会推送“编辑文档” View 并提供“后退”和“完成”按钮。
  • 点击相机图片应该“加载”(推送/模态?)我的cameraVC,它是 UIImagePickerController 的子类。我在选择器顶部添加了自定义叠加层,并使用自定义按钮拍照。在此事件中,我当前执行通向 PreviewDocumentView(以模式方式呈现)的 Segue,并且当点击“使用”按钮时,我呈现编辑文档 View 。

问题是编辑文档 View 没有导航栏,即使我尝试设置属性 self.navigationBarHidden = NO; 这对我来说似乎很正常,因为我已经以模态方式呈现了 View 但那该怎么办呢?

我尝试从tableVC中推送我的cameraVC,但收到一条错误消息,指出禁止堆叠2个navigationController(因为UINavigationController的UIImagePickerController子类的cameraVC子类)。看来我唯一的选择是以模态方式呈现cameraVC,但我不知道如何呈现带有导航栏的编辑文档VC。

编辑:在cameraVC中设置导航栏并不是最佳选择,但如果这是唯一的方法,则可以接受。

最佳答案

看来最好的解决方案是使用展开转场!

总结:

1)在tableVC中创建一个方法如

- (IBAction)unwindToThisViewController:(UIStoryboardSegue *)unwindSegue
{
NSLog(@"Rolled back");
}

2) 为 PreviewDocumentVC 创建一个展开 Segue,并为其指定一个唯一 ID,例如“unwindFromPreview”,将其连接到 unwindToThisViewController IBAction。检查这个answer我过去给出了如何实现这一目标的详细步骤(步骤 2 和 3)。

3)在 PreviewDocumentVC 中创建一个 prepareForSegue 方法,在其中设置一些 tableVC BOOL 属性,例如

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"unwindFromPreview"]) {
((TableVC*)segue.destinationViewController).shouldTransitionToEditDocVC = YES;
}
}

4) 在 tableVC 的 ViewWillAppear 方法中,检查 shouldTransitionToEditDocVC ,如果它设置为 YES,则执行到 editDocVC 的转场。

希望这会有所帮助!

关于ios - 如何将 UIImagePickerController 与 UINavigationController 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16517771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com