具有突出显示和背景颜色的 NSTableView 布局问题
NSTableView Layout issue with Highlight and Background Color
我基本上是在尝试重新创建某些 Xcode 设置中存在的 popOver,例如构建设置中的这个:
我尝试过使用和不使用 NSArrayController 来控制内容,但在每个测试中我 运行 遇到了不同的问题,我没有遇到过能够解决。
想要的结果
- 全白背景
- 多选和(单个)可编辑单元格
- 不需要重新排序
- 当我按下 + 按钮时,我希望新单元格被选中并处于编辑模式
- 我想在编辑时收到有关文本更改的通知,以便能够对此做出响应。
1。使用委托方法。
当我设置好所有内容后,我得到了这个结果:
这看起来不太好,所以我选择了 "Draws Background" 作为 NSTableViewCell,这使得我编辑单元格时看起来不错:
但是当我只突出显示单元格时,它看起来像这样:
看起来突出显示放在单元格背景后面。
我卡住了,不知道如何解决。
2。使用 NSArrayController
当我重新配置并将其绑定到 NSArrayController 时,突出显示看起来很棒:
但是当我编辑一个单元格时,整个背景变成灰色:
这也不是我想要的,但不知道该怎么办。
--
备注
在 Desired Result 中,我列出了一些类似 "When I press the + button I want the new cell to be selected and in edit mode" 和 "I want to get notification of when text changes while editing to be able to respond to that." 的内容,以便可能影响对采取何种路线的选择,因为还有更多关于 thin TableView 的事情我还没有弄清楚。
但这个问题是关于如何修复突出显示和选择,使它们始终保持白色,并且只选择一个单元格看起来符合预期。
示例代码
委托方法版本的示例代码:
https://github.com/erikberglund/Whosebug/tree/master/TableViewDelegates
绑定版本的示例代码:
https://github.com/erikberglund/Whosebug/tree/master/TableViewBindings
强制外观为浅绿色。所以而不是继承select aqua。这为我解决了问题。
我基本上是在尝试重新创建某些 Xcode 设置中存在的 popOver,例如构建设置中的这个:
我尝试过使用和不使用 NSArrayController 来控制内容,但在每个测试中我 运行 遇到了不同的问题,我没有遇到过能够解决。
想要的结果
- 全白背景
- 多选和(单个)可编辑单元格
- 不需要重新排序
- 当我按下 + 按钮时,我希望新单元格被选中并处于编辑模式
- 我想在编辑时收到有关文本更改的通知,以便能够对此做出响应。
1。使用委托方法。
当我设置好所有内容后,我得到了这个结果:
这看起来不太好,所以我选择了 "Draws Background" 作为 NSTableViewCell,这使得我编辑单元格时看起来不错:
但是当我只突出显示单元格时,它看起来像这样:
看起来突出显示放在单元格背景后面。
我卡住了,不知道如何解决。
2。使用 NSArrayController
当我重新配置并将其绑定到 NSArrayController 时,突出显示看起来很棒:
但是当我编辑一个单元格时,整个背景变成灰色:
这也不是我想要的,但不知道该怎么办。
--
备注
在 Desired Result 中,我列出了一些类似 "When I press the + button I want the new cell to be selected and in edit mode" 和 "I want to get notification of when text changes while editing to be able to respond to that." 的内容,以便可能影响对采取何种路线的选择,因为还有更多关于 thin TableView 的事情我还没有弄清楚。
但这个问题是关于如何修复突出显示和选择,使它们始终保持白色,并且只选择一个单元格看起来符合预期。
示例代码
委托方法版本的示例代码:
https://github.com/erikberglund/Whosebug/tree/master/TableViewDelegates
绑定版本的示例代码:
https://github.com/erikberglund/Whosebug/tree/master/TableViewBindings
强制外观为浅绿色。所以而不是继承select aqua。这为我解决了问题。