如何在可可应用中更改视图控制器?

时间:2018-12-26 08:41:21

标签: objective-c macos cocoa

我有两个视图控制器,一个是main.storyboard的视图控制器,另一个是NSPageController。

我有一个按钮,按下后我想将视图控制器从main.storyboard更改为NSPageController。

在main.storyboard的Viewcontroller.m中

- (void)loginButtonPressed:(id)sender {
    NSPageController *pageController = [[NSPageController alloc] initWithNibName:@"CustomPageController" bundle:nil];
}

我有一个页面控制器实例,然后如何将视图控制器从视图控制器更改为CustomPageController?

1 个答案:

答案 0 :(得分:0)

最简单的方法是对表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标签项之一。