mag*_*ern 5 macos xcode cocoa objective-c
我刚从 iOS 开发过来,我无法弄清楚这个基本的事情:如果我在 Interface Builder 中打开 MainMenu.xib 并将一个按钮拖到主窗口的视图上,我应该将该按钮的操作连接到哪个类 -应用程序代表?
如果我想添加视图控制器,如何将其“分配”到 MainMenu.xib 中的主窗口视图?
模式是什么——使用 NSViewController、使用 NSWindowController 还是将所有内容都推入 App Delegate?
因此,默认情况下,您的主应用程序窗口是应用程序委托中的一个出口。您应该保留MainMenu.xib
的所有者作为应用程序委托。
如果您要创建自己的自定义窗口控制器,一种常见的替代方法是在 AppDelegate 类型中创建一个属性CustomWindowController
,然后在 中-applicationDidFinishLaunching
实例化您的自定义窗口并显示它:
if(!windowController){
windowController = [[MyWindowController alloc] initWithWindowNibName:@"MyWindow"];
}
[windowController showWindow:self];
Run Code Online (Sandbox Code Playgroud)
当然,这意味着您可以断开与他们提供的默认窗口的连接。
如果您添加任何按钮,您将需要将它们连接到它们所在的超级视图的所有者。无论是应用程序委托(如果您在默认窗口中工作)MainMenu.xib
还是自定义窗口控制器(如果您创建了自己的窗口),或自定义视图控制器(如果您要创建自己的视图)。
如果要添加视图控制器,首先必须创建新的 Cocoa 类,就像创建 CocoaTouch 类一样。然后在界面生成器中,转到右下角的对象库并搜索“对象”。将其拖到文档大纲中,然后从那里您可以设置从视图到新视图控制器的连接。
该模式实际上取决于您正在做什么,但是对于基本应用程序来说,最终您不需要创建自己的 NSWindowController,并且可以使用window
它们通过 AppDelegate 为您提供的默认值。如果您正在创建需要一些逻辑的自定义视图,那么您将必须创建自己的自定义 NSViewController 并将它们带入您的 xibs
归档时间: |
|
查看次数: |
824 次 |
最近记录: |