带有突出显示和背景颜色的{NSTableView布局问题

时间:2015-09-04 18:18:13

标签: objective-c cocoa nstableview nsarraycontroller

我基本上是在尝试重新创建某些Xcode设置中存在的popOver,就像在Build Settings中那样:

enter image description here

我已经尝试使用和不使用 NSArrayController 来控制内容,但在我遇到的每个测试中遇到了我无法解决的不同问题。

期望结果

  • 完整的白色背景
  • 多重选择和(单个)可编辑单元格
  • 无需重新排序
  • 当我按下+按钮时,我想要选择新单元格并处于编辑模式
  • 我希望在编辑时收到有关文本更改的通知,以便能够对此进行响应。

1。使用委托方法。

当我设置好所有内容时,我得到了这个结果:

enter image description here

那看起来并不好看,所以我选择了#34; Draws Background"对于 NSTableViewCell ,这导致我在编辑单元格时看起来很不错:

enter image description here enter image description here

但是当我突出显示单元格时,它看起来像这样:

enter image description here

看起来突出显示位于单元格背景后面。

我在这里陷入困境,不知道如何解决。

2。使用NSArrayController

当我重新配置并将其绑定到 NSArrayController 时,突出显示看起来很棒:

enter image description here

但是当我编辑一个单元格时,整个背景变为灰色:

enter image description here

这也不是我想要的,但无法弄清楚该怎么做。

-

注释

在所需的结果中,我列出了一些像"当我按下+按钮时,我希望选择新的单元格并进入编辑模式"和#34;我希望在编辑时获得文本更改时间的通知,以便能够对其进行响应。"可能会影响选择哪条路线,因为有很多关于TableView的东西我还没有想到。

但是这个问题是关于如何修复突出显示和选择以使它们始终保持白色,只是选择一个单元格看起来像预期的那样。

示例代码

Delegates Method版本的示例代码:

https://github.com/erikberglund/StackOverflow/tree/master/TableViewDelegates

Bindings版本的示例代码:

https://github.com/erikberglund/StackOverflow/tree/master/TableViewBindings

1 个答案:

答案 0 :(得分:3)

强迫外观为浅绿色。因此,而不是继承选择aqua。这解决了我的问题。

Aqua