我有两个视图控制器,一个是main.storyboard的视图控制器,另一个是NSPageController。
我有一个按钮,按下后我想将视图控制器从main.storyboard更改为NSPageController。
在main.storyboard的Viewcontroller.m中
- (void)loginButtonPressed:(id)sender {
NSPageController *pageController = [[NSPageController alloc] initWithNibName:@"CustomPageController" bundle:nil];
}
我有一个页面控制器实例,然后如何将视图控制器从视图控制器更改为CustomPageController?
最佳答案
最简单的方法是对表NSTabView使用NSTabViewController
。
用NSTabViewController替换Windows NSViewController,并将NSTabView样式切换为表(在Interface Builder中)。在分配给选项卡的单个NSViewController中,可以使用@IBAction将封闭的NSTabViewController切换到另一个视图控制器,如下所示。
@IBAction func switchViewController(_ sender: Any) {
if let tabViewController = parent as? NSTabViewController{
tabViewController.selectedTabViewItemIndex = 1
}
}
这将带来额外的好处,即过渡也可以动画化。
您的
NSPageController
将是TabViewControllers选项卡项之一。