在UINavigationController中嵌入视图控制器

时间:2015-11-21 03:00:44

标签: ios swift

最初我只是提出了这样的视图,它运行良好。

let editSpotVc = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("EditSpotViewController") as! EditSpotViewController

self.presentViewController(editSpotVc, animated: false) { () -> Void in
    editSpotVc.addImage(ImageTransformationUtil.scaleImageTo(newWidth: 1080, image: image))
    editSpotVc.updateMapAndReverseGeocode(photoCoordiantes)
}

我现在需要将视图控制器嵌入到导航控制器中。我的解决方案(下面)不起作用。该程序崩溃,因为它在运行editSpotVC方法时发现为nil。

let editSpotVc = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("EditSpotViewController") as! EditSpotViewController
let editSpotNavVc = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("EditSpotNavController")

self.presentViewController(editSpotNavVc, animated: false) { () -> Void in
    editSpotVc.addImage(ImageTransformationUtil.scaleImageTo(newWidth: 1080, image: image))
    editSpotVc.updateMapAndReverseGeocode(photoCoordiantes)
}

如何顺利完成这项工作?

谢谢!

1 个答案:

答案 0 :(得分:1)

1。 转到故事板 - > 选择要嵌入的viewController - > 编辑 - > 嵌入 - > 导航控制器

2

let nav = UINavigationController(rootViewController: yourViewController)

在这种情况下,

let editSpotVc = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("EditSpotViewController") as! EditSpotViewController
let navigationController = UINavigationController(rootViewController: editSpotVc)