2015-01-15 399 views

回答

1

您應該使您的主要UIWindow的導航控制器rootViewController

如果您創建的接口完全編程,這是常見的,你的應用程序委託application:didFinishLaunchingWithOptions:同時創建主UIWindow和主導航控制器,然後分配給後者是前者的rootViewController財產。

class AppDelegate: UIResponder, UIApplicationDelegate { 

    var window: UIWindow? 
    var navigationController: UINavigationController? 

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool { 

    self.navigationController = UINavigationController() 

    var viewController: UIViewController = UIViewController() 
    self.navigationController.pushViewController(viewController, animated: false) 

    self.window = UIWindow(frame: UIScreen.mainScreen().bounds) 
    self.window.rootViewController = self.navigationController 

    ...more initialisation... 

    self.window.makeKeyAndVisible() 

    return true 
    } 
} 

編輯:

回答你的問題的評論:

所以是相同的,當我從編輯器來創建導航控制器 - >嵌入導航控制器?我的意思是,如果我從editor->嵌入到導航控制器中,是否會以編程方式產生相同的結果?

這取決於你如何看待它。從用戶的角度來看,我會說,是的。從程序員的角度來看,我不會說,因爲故事板會產生一堆其他對象(與場景,賽格等有關)

換句話說,如果您只關心創建導航視圖控制器並附加到你的窗口,故事板將按照上面所述的方式進行操作(加上我之前提到過的一些事情,不會改變「附加」的最終結果,只是做它的方式)。

如果您的意思是您想要重新創建與故事板中創建的設置相同的設置,我不認爲您可以通過編程創建新的故事板場景,因爲Apple不公開所有相關類。

+0

所以當我從編輯器創建導航控制器 - >嵌入到導航控制器中時,它是一樣的嗎?我的意思是,如果我從editor->嵌入到導航控制器中,是否會以編程方式產生相同的結果? – user2557607

+0

請參閱我的編輯。另外,你的要求的最終目標可能並不完全清楚。如果我的回答沒有幫助,請考慮使之更清楚*爲什麼*你問這個問題:只是好奇心?你有一些具體的任務嗎? – sergio

相關問題