我为iPhone开发了一个应用程序,我想在iPad中继续此应用程序,iPad的界面与iPhone不一样,我正在开发界面以供iPad和我有一个问题,将uiviewcontroller传递给另一个uiviewcontroller。pushViewController:在SWIFT中展开一个可选值时意外发现为零
我检测到该设备在功能func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
这样
if((modelName == "iPad 2")||(modelName == "iPad 3")||(modelName == "iPad 4")||(modelName == "iPad Air")||(modelName == "iPad Air 2")||(modelName == "iPad Mini")||(modelName == "iPad Mini 2")||(modelName == "iPad Mini 3")||(modelName == "iPad Mini 4")||(modelName == "iPad Pro"))
{
...
}else
{
...
}
之后创建两个视图(视图A和图B)和余嵌入在两个导航控制器的两个视图。
在视图中,我添加以下代码通过查看B,
let secondViewController = self.storyboard!.instantiateViewControllerWithIdentifier("viewBID") as! ViewBViewController
self.navigationController!.pushViewController(secondViewController, animated: true)
我做同样的事情在iPhone和它运作良好,但为iPad,我跳投得到错误,如unexpectedly found nil while unwrapping an Optional value
我不知道为什么,我在视图控制器中嵌入了导航控制器,所以我认为self.navigationController
不为空。你知道如何解决这个问题吗?非常感谢你。 PS:我想也许我没有使用正确的方法来分离iPhone和iPad界面,但我不确定这一点......我需要你的帮助,非常感谢。
我自己并不是Swift专家,但我很好奇你为什么不使用AutoLayout而不是为不同的屏幕设计不同的界面? :) https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/ –
因为两个接口差别很大 – Coucou
请显示更多代码 –