Spa*_*Dog 1 macos cocoa nstoolbar nstoolbaritem
我有一个基于OSX故事板的应用程序,其开头是NSSplitViewController这样的:

这splitViewController有两个viewControllers:主和细节。
在窗户里面我有一个NSToolbar。我将拖到NSProgressIndicator该工具栏上,并将Xcode嵌入到NSToolbarItem。
现在,我需要创建一个从NSProgressIndicator到某个类的出口(而不是其他stackoverflow问题所解释的操作)。第一个问题是哪个?
Xcode不允许我创建插座。我尝试了以下选项:
ToolbarItem到masterController类文件,detailController类文件和NSSplitViewController类。NSProgressIndicator到masterController类文件,detailController类文件和NSSplitViewController类。在所有情况下,拖动都不会出现允许我创建出口的窗口。
为了天堂,我如何创建这样的出口?我将它拖到哪个班级,我该怎么做?
我假设您的设置更像这张图片:

默认情况下,您的Window场景由NSWindowController支持,您不能在其中添加新的出口。您需要创建一个子类,将其与Window关联,然后您应该能够在其中创建出口。
“文件”>“新文件”>“可可类”指定一个名称,如“ SpaceDogsWindowController”,作为NSWindowController的子类。
然后使用选择窗口控制器图标(蓝色圆圈)并在Xcode中选择Identity Inspector。(CMD + ALT + 3)。在“类”字段中指定新类的名称。
然后尝试连接插座:
1)显示助理编辑器
2)使用跳转栏确保您的自定义班级可见(它在助手编辑器窗格的顶部,应显示“自动”,您可以点击它以选择新班级;如果显示“手动”,则将其更改为自动)。
3)如果您要控制拖动但仍无法建立连接,请尝试从文档轮廓中拖动(也显示在屏幕快照中)。
然后,您可以使用如下代码从其他视图控制器(属于该窗口的视图层次结构的后代)编辑该进度指示器:
if let windowController = self.view.window?.windowController() as? CustomWindowController {
windowController.progressIndicator.doubleValue = 0.4
}
Run Code Online (Sandbox Code Playgroud)
或者在Objective-C中是这样的:
CustomWindowController *myWindowControllerSubclass = self.view.window.windowController;
windowController.progressIndicator.doubleValue = 0.4;
Run Code Online (Sandbox Code Playgroud)
希望能有所帮助。
| 归档时间: |
|
| 查看次数: |
877 次 |
| 最近记录: |