通过 'UINavigationController' 子类的正确方式设置 'Root ViewController'
Correct way setting 'Root ViewController' thru 'UINavigationController' subclass
我正在尝试动态地,使用代码通过他的子class更改我的UINavigationController
的Root
。
基本上,我的 Storyboard
看起来像这样:
#MARK:应用故事板
如您所见,我将 CustomNavigationController
设置为 Initial View Controller
选项(通过 Storyboard
)。
我怎样才能通过CustomNavigationController
class设置根目录ViewController
,当我运行应用?
#MARK : 'CustomNavigationController' class
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 ];
}
在swift(很确定)...
override func viewWillAppear() {
super.viewWillAppear()
let storyboard = self.storyboard
let vc = storyboard.instantiateViewController(withIdentifier: "one of the ids you set up")
self.viewControllers = [ vc ]
}
我正在尝试动态地,使用代码通过他的子class更改我的UINavigationController
的Root
。
基本上,我的 Storyboard
看起来像这样:
#MARK:应用故事板
如您所见,我将 CustomNavigationController
设置为 Initial View Controller
选项(通过 Storyboard
)。
我怎样才能通过CustomNavigationController
class设置根目录ViewController
,当我运行应用?
#MARK : 'CustomNavigationController' class
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 ];
}
在swift(很确定)...
override func viewWillAppear() {
super.viewWillAppear()
let storyboard = self.storyboard
let vc = storyboard.instantiateViewController(withIdentifier: "one of the ids you set up")
self.viewControllers = [ vc ]
}