macos - 如何在 cocoa 的同一窗口中显示不同的 View ?

标签 macos cocoa

是否可以在 Mac 应用程序的同一窗口中进行导航?(就像在 ios 应用程序中一样)。我想在同一窗口中显示每个 View ,而不是通过单击按钮打开不同的窗口。 例如,当用户单击按钮时,应在同一窗口中加载下一页。(下一页与当前页面没有任何共同点。)

最佳答案

您可以使用选项卡 View 在同一窗口的 View 之间轻松切换。

更新:

您还可以自定义选项卡 View ,使其成为表格(在属性检查器中将样式设置为表格)并使用按钮在 View 之间切换。 您可以通过以下链接寻求帮助:http://devcry.heiho.net/2012/01/nstabview-tutorial.html

或者

您可以通过单击按钮在窗口中添加或删除 subview ,使用

[[yourWindow contentView] addSubview: yourSubview]; // Add subview to window

[yourSubview removeFromSuperview];   //Remove subview 

更新:

使用 tables 选项卡 View 在 View 之间交换的步骤。

  1. 将 NSTabView 拖到您的 xib 上。

  2. 设置编号。属性检查器中的选项卡数为 no。您想要的 View 数。

  3. 根据您的要求设计选项卡的每个 View 。

  4. 现在在tabview的属性检查器中,将style设置为tabless。

  5. 现在拖动要用于在 View 之间交换的按钮。假设 Button0 和 Button1 用于选项卡 View 的第一个和第二个 View 。

  6. 在 .h 文件中为 NSTabView 创建 IBOutlet。将其绑定(bind)到选项卡 View 的引用导出。 IBOutLet NSTabView* tabview;

  7. 为 .h 类文件中的两个按钮设置 IBAction。

  8. 在button1的按钮操作方法中,使用

    - (IBAction)button1clicked:(id)sender

    { [选项卡选择TabViewItemAtIndex:0]; }

  9. 类似地在button2操作方法中使用:

    [tab selectTabViewItemAtIndex:1];

这样你就可以有任何不。 View ,您可以使用按钮单击来选择任何 View [tab selectTabViewItemAtIndex:(要加载的 View 的索引)];

关于macos - 如何在 cocoa 的同一窗口中显示不同的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19629921/

相关文章:

cocoa - 如何使用 Cocoa 获得准确的分贝值?

cocoa - 有什么工具可以加速 Cocoa 开发吗?

ios - Cocoa Swift,在文件和目录上获取/设置隐藏(可见/不可见)标志

macos - NSSpeechSynthesizer 语音/语言关系

macos - 使用 kCGBlendModeClear 在 Mac OS X 上实现橡皮擦描边

multithreading - 使用 applescriptobjc 实现 GDC

cocoa - 使用 KVO 时出现异常

c++ - Boost Asio io_service 析构函数卡在 OS X 上

python - 如何查找 python3 模块的位置并调试 ImportError

objective-c - 任何地方记录的消息中可能存在 NSError 吗?