让我说我显示一个这样的窗口:
[[TBAddTaskWindowController new] showWindow:self];
TBAddTaskWindowController对象意味着要发布在哪里?是否在windowWillClose中调用[self release]的通用解决方案?
让任何其他对象"拥有"窗口是不对的,因为它意味着存在直到用户关闭它.
我怎样才能使用NSLevelIndicator?我对此非常陌生,所以我对如何在我的应用程序中使用进度条知之甚少.
cocoa appkit nsprogressindicator nslevelindicator progress-bar
现在,我可以在运行时提供子菜单内容。
\n\n接下来,我执行以下操作:我可以添加新项目或从数组(包含菜单标题的 MenuController 内部)中删除旧项目,该数组通过协议和委托映射到真实的子菜单。\n一切都很好。\n除了一件事:我喜欢分配快捷方式到我的动态菜单项。\nCMD-1、CMD-2、CMD-3 等
\n\n窗口 / MySubmenu / MyItem1 CMD-1, MyItem2 CMD-2, ...
\n\n因此,为了调用某些项目,我不想去 Window / MySubmenu / MyItem 通过鼠标单击它,我只想按一个快捷键,例如 CMD-3 来调用该项目。
\n\n好的,定期它会按预期工作。但是,一般来说,我无法通知主菜单有关嵌套子菜单的更改,除非打开 Window / MySubmenu 重新加载其内容。\n重现该问题的一种稳定方法 - 只需尝试删除某些项目并按分配的旧快捷键即可对此,在您创建新项目作为已删除的替换后 - 宾果 - 在导航到 Window / MySubmenu 查看当前子菜单内容之前,快捷方式将不起作用。
\n\n我不知道如何强制主菜单重建其子菜单...\n我尝试过:[[NSApp mainMenu] update] 和使用 NSNotificationCenter 发送 NSMenuDidAddItemNotification、NSMenuDidRemoveItemNotification、NSMenuDidChangeItemNotification 的游戏
\n\n我尝试出口到我的子菜单并显式调用更新方法 - 没有办法...\n有时 …
有一个名为的未记录的类NSPreferences似乎由Safari和Mail使用,并且可以轻松创建多页首选项页面.
有没有人NSPreferences在提交到Mac App Store的应用程序中使用或类似未记录但有用且有趣的功能?
最初我的印象是它在插入/删除新行时使用表格行向上/向下动画,但我怀疑它是否正在这样做,因为即使列表中包含数千个项目也是如此流畅(否则会花费很多删除/插入工作的时间).
我是否正确地假设它只是在屏幕底部附加一个新的新闻列表实例,缩小上面的一个而底部的那个扩展以填满空间?
更新:
请看这个我的意思的视频:http://dl.dropbox.com/u/4960327/ReederAnim.mov
在OS 10.10中,Apple为各种控件添加了一些新的微妙动画.例如,当您选中一个复选框时,蓝色的"已检查"状态现在通过从复选框的中心向外扩展而不是突然切换到"已检查"图像来设置动画.
同样,当您打开NSPopUpButton并从菜单中选择一个项目时,菜单动画关闭,所选项目显示为"放大"popUpButton.
我已经定制了NSPopUpButtons,它们的绘制方式与默认的NSPopUpButton不同:

当我在弹出菜单中选择一个项目时,10.10中的新动画会在动画显示(蓝色右侧等)时简要显示系统默认的popUpButton样式.
这是正在进行的动画的屏幕截图,显示系统默认的popUpButton动画.(后面的深灰色矩形是我的自定义NSPopUpButton的"按下"状态):

通过自定义控件,这个动画显然看起来很糟糕 有没有办法禁用它或自定义它?我一直找不到.
如何在OS X上制作圆角WKWebView?
以前使用NSWebView,我们可以通过图层来完成:
webView.wantsLayer = YES;
webView.layer.cornerRadius = 5;
webView.layer.masksToBounds = YES;
Run Code Online (Sandbox Code Playgroud)
但在WKWebView上它不再有效.
当基于文档的应用程序处于活动状态并且没有打开的窗口时,会自动创建一个新的文档窗口。我想防止这种行为并显示“选择模板”对话框,而不是默认创建空白文档。
正如您在屏幕截图中看到的,新文档是在NSApplicationMain.
我怎样才能防止这种情况并显示我的窗口?
在UIView我可以通过覆盖-layoutSubviews和来进行手动布局-sizeThatFits:。当嵌入到自动布局容器等中时,这可以正常工作。 的等效项是什么NSView?
-layout和-fittingSize是显而易见的选择,但文档表明这些是特定于自动布局的。
我正在使用 SwiftUI 为 MacOS 开发基于 Python 的图形计算器。
https://github.com/snakajima/macplot
我使用 SwiftUI 的 TextEditor 作为 Python 代码的编辑器,但我无法弄清楚如何禁用智能引号(UITextInputTraits、smartQuotesType:UITextSmartQuotesType)。
VStack {
TextEditor(text: $pythonScript.script)
HStack {
Button(action: {
pythonScript.run(clear: settings.shouldClear)
}, label: {
Text("Plot")
})
Toggle("Clear", isOn: $settings.shouldClear)
}
if let errorMsg = pythonScript.errorMsg {
Text(errorMsg)
.foregroundColor(.pink)
}
}
Run Code Online (Sandbox Code Playgroud) appkit ×10
cocoa ×9
objective-c ×5
macos ×2
calayer ×1
layout ×1
nsdocument ×1
nsmenu ×1
nsview ×1
progress-bar ×1
swift ×1
swiftui ×1
wkwebview ×1
xcode4 ×1