亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

以編程方式使用情節提要設置初始視圖控制器

以編程方式使用情節提要設置初始視圖控制器

當年話下 2019-07-11 13:30:58
以編程方式使用情節提要設置初始視圖控制器如何以編程方式設置InitialViewController作為一個故事板?我想打開我的故事板,以一個不同的觀點,取決于某些條件,可能會有所不同的發射,發射。
查看完整描述

3 回答

?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

如何一個虛擬的初始視圖控制器

確保所有初始視圖控制器都有一個故事板ID。

在情節提要中,取消選中第一個視圖控制器中的“is Initial View Controller”屬性。

如果您在此時運行您的應用程序,您將看到:

Failed to instantiate the default view controller for UIMainStoryboardFile 'MainStoryboard' - perhaps the designated entry point is not set?

您會注意到,應用程序委托中的窗口屬性現在為零。

在應用程序設置中,轉到目標和Info標簽。有明確的價值Main storyboard file base name..在General選項卡,清除Main Interface..這將刪除警告。

在應用程序委托中創建窗口和所需的初始視圖控制器application:didFinishLaunchingWithOptions:方法:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
    self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];

    UIViewController *viewController = // determine the initial view controller here and instantiate it with 
    [storyboard instantiateViewControllerWithIdentifier:<storyboard id>];

    self.window.rootViewController = viewController;
    [self.window makeKeyAndVisible];

    return YES;}


查看完整回答
反對 回復 2019-07-11
?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

為了所有的斯威夫特在外面的情人們,這是答案@Travis翻譯成斯威夫特:

做什么@Travis在目標C代碼之前解釋。然后,

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
    let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    var exampleViewController: ExampleViewController = mainStoryboard.instantiateViewControllerWithIdentifier("ExampleController") 
    as! ExampleViewController

    self.window?.rootViewController = exampleViewController    self.window?.makeKeyAndVisible()

    return true}

這個ExampleViewController將是您想要顯示的新的初始視圖控制器。

這些步驟說明:

  1. 創建一個具有當前窗口大小的新窗口,并將其設置為我們的主窗口
  2. 實例化一個故事板,我們可以使用它來創建新的初始視圖控制器。
  3. 實例化我們的新的初始視圖控制器,基于它的Storyboard ID
  4. 將新窗口的根視圖控制器設置為我們剛剛啟動的新控制器
  5. 使我們的新窗口可見

享受和快樂的節目!


查看完整回答
反對 回復 2019-07-11
?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

中以編程方式設置鍵窗口的rootViewController(BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions

例如:

- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
    if (shouldShowAnotherViewControllerAsRoot) {
        UIStoryboard *storyboard = self.window.rootViewController.storyboard;
        UIViewController *rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"rootNavigationController"];
        self.window.rootViewController = rootViewController;
        [self.window makeKeyAndVisible];
    }

    return YES;}


查看完整回答
反對 回復 2019-07-11
  • 3 回答
  • 0 關注
  • 1098 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號