Objective c NSTableView布局问题,突出显示和背景色

Objective c NSTableView布局问题,突出显示和背景色,objective-c,cocoa,nstableview,nsarraycontroller,Objective C,Cocoa,Nstableview,Nsarraycontroller,我基本上是在尝试重新创建存在于某些Xcode设置中的popOver,例如构建设置中的popOver: 我尝试过使用和不使用NSArrayController来控制内容,但在每次测试中,我遇到了不同的问题,我都无法解决 期望结果 全白背景 多个选择和(单个)可编辑单元格 不需要重新排序 当我按下+按钮时,我希望选择新单元格并处于编辑模式 我想在编辑时收到文本更改的通知,以便能够对此做出响应 1.使用委托方法。 当我设置好所有内容后,我得到了以下结果: 这看起来不太好,所以我去为NSTabl

我基本上是在尝试重新创建存在于某些Xcode设置中的popOver,例如构建设置中的popOver:

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

期望结果
  • 全白背景
  • 多个选择和(单个)可编辑单元格
  • 不需要重新排序
  • 当我按下+按钮时,我希望选择新单元格并处于编辑模式
  • 我想在编辑时收到文本更改的通知,以便能够对此做出响应
1.使用委托方法。 当我设置好所有内容后,我得到了以下结果:

这看起来不太好,所以我去为NSTableViewCell选择了“绘制背景”,这使得我在编辑单元格时看起来很不错:

但当我高亮显示单元格时,它看起来是这样的:

看起来高亮显示的对象放在单元格背景后面

我被困在这里,不知道如何修复

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

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

这也不是我想要的,但我不知道该怎么办

--

笔记 在“期望结果”中,我列出了一些内容,如“当我按下+按钮时,我希望选择新单元格并处于编辑模式”和“我希望在编辑时收到文本更改的通知,以便能够对此作出响应”。为了可能影响选择的路线,因为TableView还有很多东西我还没弄明白

但这个问题是关于如何修复高亮显示和选择,使它们始终保持白色,并且只选择一个单元格看起来与预期一样

示例代码 委托方法版本的示例代码:

绑定版本的示例代码:


强制使外观呈浅绿色。因此,选择水而不是遗传。这为我解决了问题


强制使外观呈浅绿色。因此,选择水而不是遗传。这为我解决了问题


强制使外观呈浅绿色。因此,选择水而不是遗传。这为我解决了问题


强制使外观呈浅绿色。因此,选择水而不是遗传。这为我解决了问题


请提供github示例的链接。顺便说一句,为nstableview打开交替行(复选框)是的,关于交替行,这是我唯一想省去的,并且只使用白色背景。您的代码在10.11上很好。(15A279b)或者我没有得到问题,我确实按照您的要求关闭了交替行是的,这看起来很好,我也希望如此。所以现在我更困惑的是为什么我会看到灰色的方块。在您的屏幕截图上,甚至按钮都有白色背景,这将是我接下来要解决的问题。我的理解是,要更改按钮颜色,必须对其进行子类化。我使用的是6.4(6E35b)和OS X 10.10.5(14F27)。但这似乎有点奇怪。因为如果你看我的截图,它们和你的截图不一样,我发布的代码看起来和我的截图一样。试着打开Xcode选项卡上的核心动画层。但正如我在其他post Core动画中所读到的,10.10上的动画速度很慢/有很多视图。另一种尝试可能是基于单元格的nstableview。尝试在VirtualBox中新安装的系统(10.9,10.10,10.11)上测试它。请提供github示例的链接。顺便说一句,为nstableview打开交替行(复选框)是的,关于交替行,这是我唯一想省去的,并且只使用白色背景。您的代码在10.11上很好。(15A279b)或者我没有得到问题,我确实按照您的要求关闭了交替行是的,这看起来很好,我也希望如此。所以现在我更困惑的是为什么我会看到灰色的方块。在您的屏幕截图上,甚至按钮都有白色背景,这将是我接下来要解决的问题。我的理解是,要更改按钮颜色,必须对其进行子类化。我使用的是6.4(6E35b)和OS X 10.10.5(14F27)。但这似乎有点奇怪。因为如果你看我的截图,它们和你的截图不一样,我发布的代码看起来和我的截图一样。试着打开Xcode选项卡上的核心动画层。但正如我在其他post Core动画中所读到的,10.10上的动画速度很慢/有很多视图。另一种尝试可能是基于单元格的nstableview。尝试在VirtualBox中新安装的系统(10.9,10.10,10.11)上测试它。请提供github示例的链接。顺便说一句,为nstableview打开交替行(复选框)是的,关于交替行,这是我唯一想省去的,并且只使用白色背景。您的代码在10.11上很好。(15A279b)或者我没有得到问题,我确实按照您的要求关闭了交替行是的,这看起来很好,我也希望如此。所以现在我更困惑的是为什么我会看到灰色的方块。在您的屏幕截图上,甚至按钮都有白色背景,这将是我接下来要解决的问题。我的理解是,要更改按钮颜色,必须对其进行子类化。我使用的是6.4(6E35b)和OS X 10.10.5(14F27)。但这似乎有点奇怪。因为如果你看我的截图,它们和你的截图不一样,我发布的代码看起来和我的截图一样。试着打开Xcode选项卡上的核心动画层。但正如我在其他post Core动画中所读到的,10.10上的动画速度很慢/有很多视图。另一种尝试可能是基于单元格的nstableview。尝试在VirtualBo中新安装的系统(10.9,10.10,10.11)上测试它