Cri*_*ian 2 macos cocoa objective-c
我正在创建一个测试应用程序,尝试使用MVC,用于Mac.
我创建了5个nib文件,每个文件都有不同的窗口,每个笔尖都有类文件.
我该怎么办,当您按下MainMenu.xib上的按钮时,它会打开一个新视图?
我已经看过使用initWithNibName:
iOS的,但是无法在Mac上找到它的工作方式.或者我是以错误的方式来做这件事的?如果是这样,您如何使用Xcode管理Mac应用程序中的不同视图和类?
Ver*_*ous 10
因为你提到"我创建了5个nib文件,每个文件都有不同的窗口,每个笔尖都有类文件." 我假设你有5个不同的窗口(不是视图),并希望按下按钮打开它们.
每个窗口nib文件由a控制NSWindowController
,它将是MVC中的C. 要以编程方式实际加载nib文件,请为其指定一个NSWindowController
; 将NSWindowController
在OS X是堪比UIViewController
iPhone上.
NSWindowController *controller = [[NSWindowController alloc] initWithWindowNibName:@"nib1"]
Run Code Online (Sandbox Code Playgroud)
然后你可以打开/关闭NSWindowController管理的窗口.
[controller showWindow:nil]
显示窗口
[controller.window makeKeyAndOrderFront:self]
使窗口成为关键窗口.
您可能打算做其他事情,即保持相同的窗口,但切换该窗口的内容视图.在这种情况下,您需要包含视图的nib文件(并使用NSViewControllers加载它们),而不是Windows(因为窗口是多余的).
但即使你坚持使用windows,也要替换contentView:
[currentWindow setContentView:[newWindowController.window contentView]];
Run Code Online (Sandbox Code Playgroud)
您应该阅读Apple在Windows,视图和应用程序上提供的所有文档.
归档时间: |
|
查看次数: |
2438 次 |
最近记录: |