【发布时间】:2017-03-19 16:54:20
【问题描述】:
基本上我有两个选项卡的选项卡栏控制器,每个选项卡都有一个单独的导航控制器,每个都有几个视图(见下文)。
在“顶部”导航控制器(在右侧标签中),我可以选择一个图像,然后被带到最右边的屏幕预览图像...
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let image = info[UIImagePickerControllerEditedImage] as? UIImage {
let previewController = self.storyboard?.instantiateViewController(withIdentifier: "previewVC") as! PreviewViewController
previewController.img = image
previewController.navigationItem.setHidesBackButton(true, animated: false)
self.navigationController?.pushViewController(previewController, animated: true)
self.dismiss(animated: true, completion: nil)
}
}
...我点击“发布”的地方。这会上传图片并调用self.tabBarController?.selectedIndex = 0
这只是将我带到图像提要,它位于“底部”导航控制器(左侧选项卡)中。到现在为止还挺好。但是,当我需要在发布后显示上传屏幕时,预览屏幕仍然显示在“右侧”选项卡中。
如果我在点击 post 时调用 self.dismiss(animated: true, completion: nil),整个导航控制器将被关闭,我将返回登录屏幕。
所以我试图关闭预览控制器,以便上传控制器显示为右侧选项卡中的默认视图,而不关闭导航控制器中的整个堆栈。
我该怎么做?
【问题讨论】:
-
不完全遵循您的导航结构,但我提供了一些可能解决您的问题的答案。让我知道我是否在正确的轨道上。
标签: ios swift uinavigationcontroller