UITabBar在UIImagePickerController的模态解雇时消失

时间:2016-01-22 03:25:47

标签: ios swift uiimagepickercontroller

经过大量研究,我认为我的应用程序发现了问题,但我无法找到解决方案。

在我的项目中,如屏幕截图所示,我有一个UITabBarController作为初始viewcontroller。 UINavigationController将“显示(推送)”以显示UIViewController。在我的UIViewController内,我将调用UIImagePickerController,由XCode设置为“模态”。

问题出现了,当我解雇UIImagePickerController时,UITabBar项目消失了。我知道这与解雇模态有关,但我无法找到解决方案。

enter image description here

我的代码如下:

点击UIViewController

内的按钮
@IBAction func chooseLibrary(sender: AnyObject) {

    let picker = UIImagePickerController()
    picker.delegate = self
    picker.sourceType = .PhotoLibrary
    picker.allowsEditing = true

    self.navigationController?.presentViewController(picker, animated: true, completion: nil)
}

点击UIImagePickerController

内的“取消”
func imagePickerControllerDidCancel(picker: UIImagePickerController) {
    self.navigationController?.dismissViewControllerAnimated(true, completion: nil)
}

2 个答案:

答案 0 :(得分:0)

试试这个:

@IBAction func chooseLibrary(sender: AnyObject) {

    let picker = UIImagePickerController()
    picker.delegate = self
    picker.sourceType = .PhotoLibrary
    picker.allowsEditing = true

    self.navigationController?.pushViewController(picker, animated: true)
}

func imagePickerControllerDidCancel(picker: UIImagePickerController) {
    self.navigationController?.popViewControllerAnimated(true)
}

答案 1 :(得分:0)

设置 viewController.hidesBottomBarWhenPushed = NO ;对于要在其中显示标签栏的所有控制器。 按/显示视图控制器时必须设置此标志。 希望这能解决你的问题。