2014-10-01 61 views
1
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
     // step 1. check the device 
     var idiom = UIDevice.currentDevice().userInterfaceIdiom 

     // step 2. take a storyboard variable 
     var storyBoard:UIStoryboard? = nil 

     // step 3. load appropriate storyboard file 
     if idiom == UIUserInterfaceIdiom.Phone { 
      storyBoard = UIStoryboard(name: "Main", bundle: nil) 
     } else { 
      storyBoard = UIStoryboard(name: "Main_iPad", bundle: nil) 
     } 

     // step 4. un-box storyboard to sb variable 
     if let sb = storyBoard { 

      // step 5. create new window 
      window = UIWindow(frame: UIScreen.mainScreen().bounds) 

      // step 6. generates error :('Cannot assign to the result of this expression' 
      self.window?.rootViewController?.storyboard = sb 

      // step 7. make key window & visible 
      window?.makeKeyAndVisible() 
     } 
     return true 
    } 

我在步骤6中遇到错误!由于我是新手,我发现在这里编写代码有点困难。Swift - 以编程方式加载故事板

回答

5

故事板只是一个XML文件,其中包含有关视图控制器的信息。您应该使用它来实例化视图控制器(或者其他控制器,例如标签栏控制器或导航控制器)以设置为您的应用程序窗口的根视图控制器。

window.rootViewController = sb.instantiateInitialViewController() as MyWhateverController 
相关问题