簡體   English   中英

通過“ UINavigationController”子類正確設置“ Root ViewController”

[英]Correct way setting 'Root ViewController' thru 'UINavigationController' subclass

我正在嘗試通過代碼動態地通過其子類更改UINavigationControllerRoot

基本上,我的Storyboard如下所示:

#MARK:應用故事板

在此處輸入圖片說明

如您所見,我將CustomNavigationController設置為Initial View Controller選項(通過Storyboard )。

我如何通過CustomNavigationController類設置將在我運行應用程序時顯示的根ViewController

#MARK:“ CustomNavigationController”類

class CustomNavigationController: UINavigationController {

  // What method should i use?

}

必須為右側的兩個視圖控制器提供情節提要板標識符(在“身份檢查器”選項卡上)。

然后在您的自定義NavVC中,在根目錄下構建所需的視圖控制器,並通過使其成為導航堆棧(數組)中唯一的視圖控制器使其成為根目錄...

- (void)viewWillAppear:animated {
    [super viewWillAppear:animated];
    UIStoryboard *storyboard = [self storyboard];
    UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"one of the ids you set up"];
    self.viewControllers = @[ vc ];
}

迅速(非常確定)...

override func viewWillAppear() {
    super.viewWillAppear()
    let storyboard = self.storyboard
    let vc = storyboard.instantiateViewController(withIdentifier: "one of the ids you set up")
    self.viewControllers = [ vc ] 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM