0

我无法弄清楚如何在我的 XCode 项目中的不同自定义视图之间进行更改。

我有我的主 nib 文件,由 1 个主窗口和 5 个自定义视图组成。主窗口由 5 个按钮组成,所有这些按钮都需要连接到不同的视图。因此,例如,我单击按钮 1,它会关闭当前菜单并加载自定义视图 1。

我很难弄清楚如何做到这一点。

我想我会为 5 个不同的按钮和 5 个自定义视图创建 IBOutlets,并将它们连接到不同的方法,例如 openView1、openView2,每个方法都会关闭当前菜单并加载自定义视图?

谁能帮助我在代码方面如何实现这一目标?

非常感谢任何帮助。

谢谢

4

1 回答 1

3

所以本质上你想要一个标签视图?

您可以NSTabView在 Interface Builder 中创建一个。将选项卡的数量设置为 5。然后在其中布置您想要的视图的内容。

如果您对使用标准系统为标签提供的视觉外观感到满意,那么您就完成了。但是,如果您想要切换选项卡的自定义按钮,请继续阅读。

选择标签视图后,将其样式设置为 Tabless:

在此处输入图像描述

这会使选项卡按钮消失。这意味着视图之间的切换需要通过代码来完成。首先,您需要一个代表您的选项卡视图本身的 IBOutlet:将其连接起来。然后为 编写一个 IBAction 方法openView1:,它可能看起来像这样:

- (IBAction)openView1:(id)sender
{
    [tabView selectTabViewItemAtIndex:0];
}

为自己制作一个按钮(位于窗口中选项卡视图之外的某个位置,否则您只能从一个选项卡访问它!)并将其连接到此操作。

这可能是使用这样的界面的最简单方法。根据您希望如何构建代码,有很多方法可以改进它。例如,听起来您来自 iOS 开发,您UIViewController将为每个选项卡制作一个。好吧,在 Mac 上存在NSViewController,因此您可以使用类似的模式:但如果您这样做,您需要编写一些代码来处理将视图控制器的视图放入选项卡视图中。它不会像在 iOS 上那样通过 Interface Builder 自动发生。如果您选择走这条路,本教程应该可以帮助您入门。

于 2012-04-16T13:04:01.287 回答