是否可以在 mac 应用程序的同一个窗口中进行导航?(就像在 ios 应用程序中一样)。我想在同一个窗口中显示每个视图,而不是在单击按钮时打开不同的窗口。例如,当用户单击按钮时,应在同一窗口中加载下一页。(下一页与当前页面没有任何共同之处。)
2 回答
您可以使用选项卡视图在同一窗口上的视图之间轻松切换。
更新:
您还可以自定义您的选项卡视图,使其成为表格(在属性检查器中将样式设置为表格)并使用您的按钮在视图之间切换。您可以从以下链接获得帮助:http: //devcry.heiho.net/2012/01/nstabview-tutorial.html
或者
您可以在单击按钮时从窗口中添加或删除子视图,使用
[[yourWindow contentView] addSubview: yourSubview]; // Add subview to window
[yourSubview removeFromSuperview]; //Remove subview
更新:
使用表格选项卡视图在视图之间交换的步骤。
将 NSTabView 拖到您的 xib 中。
设置编号。属性检查器中的选项卡数量为否。您想要的视图。
根据您的要求设计选项卡的每个视图。
现在在tabview的属性检查器中,将样式设置为tabless。
现在拖动要用于在视图之间交换的按钮。假设 Button0 和 Button1 用于标签视图的第一个和第二个视图。
在 .h 文件中为 NSTabView 创建一个 IBOutlet。将其绑定到您的 tabview 的引用插座。
IBOutLet NSTabView* tabview;
在 .h 类文件中为两个按钮设置 IBAction。
在 button1 的按钮操作方法中,使用
- (IBAction)button1clicked:(id)sender
{ [tab selectTabViewItemAtIndex:0]; }
同样在 button2 动作方法中使用:
[选项卡选择TabViewItemAtIndex:1];
这样你就可以有任何没有。视图,您可以使用 [tab selectTabViewItemAtIndex:(您要加载的视图的索引)] 选择按钮单击的任何视图;
一般来说,你想用谷歌搜索视图交换。那里有很多例子。一些来自 Apple 和很多其他地方。其中大部分与iOS非常相似。您还需要阅读一下文档。了解NSView
以及如何从 nib 加载视图、如何在代码中创建视图对象、如何添加子视图以及如何删除视图。
由于不同的原因,有许多方法可以产生不同的观点。正确的方法是结合风格、体验和您的应用实际需要做的事情。
Cocoa 包括NSBox
、NSTabView
和许多其他内容。这两个可以配置为不显示它们是容器的任何视觉指示。您还需要至少了解一点NSWindow
才能了解它的内容视图(一般是其他视图的根容器)