[英]Correct way of setting up UINavigationController and its RootViewController in IB
[英]Correct way setting 'Root ViewController' thru 'UINavigationController' subclass
我正在嘗試通過代碼動態地通過其子類更改UINavigationController
的Root
。
基本上,我的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.