appkit相关内容

带有绑定的 NSPopupButton 中的分隔项

NSPopupButton 的内容绑定到一个 NSArray 字符串. 我们如何通过绑定插入分隔符项目? “-"字符串(如在过去/经典时代)不起作用,即字面上显示为“-"菜单项. 是否有任何带有标准 Cocoa 类和绑定的开箱即用的解决方案? 这应该是一个微不足道的问题,但我找不到任何不涉及愚蠢黑客的问题的解决方案,例如子类化 NSMenu、NSPopupButton 或其 ..
发布时间:2021-11-16 20:29:55 移动开发

如何采取行动关闭 NSPopover?

嗨,我在我的一个应用程序中实现了 NSPopover,但弹出窗口不会关闭.我猜它应该在我点击其他东西后关闭,但它不是.我知道有一个 close popover 动作,但这只适用于不同的按钮.当我按下同一个按钮时,我怎样才能看到弹出框是打开的,当它打开时关闭弹出框? 解决方案 我解决了问题! 首先点击您的 .xib 文件. 在您看到第一响应者框和文件所有者的位置 - 点击弹出框. ..
发布时间:2021-11-16 20:29:52 其他开发

NSTableView unhideRowsAtIndexes 崩溃

我正在创建一个分组的 NSTableView,它加载得很好,并且我的所有对象都按照我想要的方式加载. 我还创建了折叠整个组部分(组行之间的行)的可能性,我使用了添加的 hideRowsAtIndexes:withAnimation: 和 unhideRowsAtIndexes:withAnimation:到 NSTableView ( https://developer.apple.com/ ..
发布时间:2021-11-16 20:29:49 其他开发

NSPasteboard 是否保留所有者对象?

你可以像这样调用NSPasteboard: [pboard declareTypes:types owner:self]; 这意味着粘贴板稍后会要求所有者根据需要提供类型的数据.但是,我无法从文档中找到(也许我遗漏了一些明显的流血内容),是 owner 是否被保留. 在实践中,我担心的是,如果所有者是一个弱引用,它可能会被释放,如果粘贴板然后尝试从中请求数据,则会导致崩溃. 注意: ..
发布时间:2021-11-16 20:29:43 移动开发

NSTextField 单击链接颜色

我有一个 NSTextField,它包含一个 NSAttributedString,它本身包含一个可点击的链接. 我已经根据自己的样式更改了链接的颜色,但是当我点击它时,它会变成蓝色并带有下划线.我怎样才能阻止这种情况? 解决方案 看来我不是唯一遇到这个问题的人,有一个方便的类来解决它: https://github.com/laevandus/NSTextFieldHyper ..
发布时间:2021-11-16 20:29:37 其他开发

根据 NSOutlineView 高度动态调整 NSWindow 的大小

我已经阅读了许多关于动态调整 NSWindows 大小的问题的答案,但还没有完全奏效. 我已经构建了一个类似“popover"的窗口以从菜单栏显示,我无法使用 NSPopover,因为它在设计方面不够可定制.我的视图层次结构当前看起来像这样: NSWindow 子类- NSView(清除标题栏渲染,绘制弹出箭头)- NSView(内容视图)- NSOutlineView(主目录)- NSV ..
发布时间:2021-11-16 20:29:34 其他开发

覆盖 NSSearchFieldCell 导致占位符不居中

我正在NSSearchFieldCell 子类中进行一些自定义绘图.但是,覆盖其两种绘图方法中的任何一种都会导致占位符文本未对齐. 例如,仅通过使用覆盖 NSCell 绘图方法的自定义 NSSearchFieldCell 子类,将导致占位符文本左对齐. class CustomSearchFieldCell: NSSearchFieldCell {覆盖 func draw(withFram ..
发布时间:2021-11-16 20:29:33 移动开发

调用 NSTextField setStringValue: 后如何更新扩展工具提示大小?

当视图包含启用了扩展工具提示的 NSTextField 并且文本不适合时,用户将光标悬停在该字段上时,OS X 会显示扩展工具提示.如果您随后调用 setStringValue: 来更改 NSTextField 的文本内容,则扩展工具提示的大小不会更新.例如,如果原始文本长度为 100 个字符,而新文本长度仅为 50 个字符,则将鼠标悬停在新文本上将显示一个扩展工具提示,其大小足以容纳 100 个 ..
发布时间:2021-11-16 20:29:31 其他开发

基于视图和单元格的 NSTableView

Cocoa 中基于单元格和基于视图的表格视图之间的主要区别是什么. 我的理解是基于单元格的表格视图基本上用于显示字符串,基于视图的用于自定义单元格.用户事件,例如拖动行、选择等可以在基于视图中处理. 基于单元格的表格视图使用 objectValueForTableColumn: 方法,基于视图的表格使用 viewForTableColumn: 方法. 我的理解正确吗?或者是这些表 ..
发布时间:2021-11-16 20:27:46 其他开发

如何更改/修改 NSPopUpButton 的显示标题

我希望 NSPopUpButton 显示与所选菜单项标题不同的标题. 假设我有一个 NSPopUpButton 允许用户选择货币列表,我如何让折叠/关闭按钮仅显示货币缩写而不是所选货币的菜单标题(哪个是货币的全名)? 我想我可以在子类(NSPopUpButtonCell)中覆盖 draw 并自己绘制整个按钮,但我现在更喜欢重用系统外观的更轻量级的方法. 菜单项包含有关缩写的必要信 ..
发布时间:2021-11-16 20:27:43 移动开发

AppKit控件的视觉指南?

是否有 Mac OS/X AppKit 中控件的视觉指南? 以出现在 XCode UI 中不同位置的以下控件为例: 我不知道那是哪个 AppKit 控件.有什么想法吗? 解决方案 它看起来像是 NSMatrix 中的一系列 NSRadioButton 视图.您可以使用 Accessibility Inspector 确定前者,它会告诉您这些按钮属于辅助功能类 AXRadioBu ..
发布时间:2021-11-16 20:27:40 其他开发

NSRefreshedObjectsKey 的用途

在 NSManagedObjectContextObjectsDidChangeNotification 通知中,我有时会收到 NSRefreshedObjectsKey 键. 我理解 刷新对象成为从持久存储/缓存中新获取的对象. 是什么导致通知返回刷新的对象呢?对于插入、更新、删除等,这是显而易见的,但是我必须对对象做什么才能使其出现在 NSRefreshedObjectsKey 键 ..
发布时间:2021-11-16 20:27:37 移动开发

向 NSScrollView 添加大量视图

我正在尝试为字典中的每个元素添加一个子视图(来自 NSViewController 的视图)到 NSScrollView 以获得一种表视图,但有很多比单元格更灵活. 是否可以(以编程方式)放置例如100 个子视图相互下方,所以你必须向下滚动 NSScrollView 才能到达最后一个元素? 解决方案 简短的回答是肯定的.我以前做过这个,我向你保证它会起作用.让我也向你保证,它并不像看 ..
发布时间:2021-11-16 20:27:35 移动开发

如何为“过冲"着色NSCollectionView 的背景

我按照 Ray 在我的 Cocoa 应用上实现了一个集合视图Wenderlich 的教程(非常有帮助,因为 Apple 的 API 在这方面有很多缺陷和损坏). 在本教程中,集合视图的画布使用以下代码涂成黑色(所有代码都在视图控制器类的 viewDidLoad() 方法中): collectionView.layer?.backgroundColor = NSColor.black.cgC ..
发布时间:2021-11-16 20:27:29 其他开发