macos - 基于 View 的 NSOutlineView 拖放突出显示不正确

标签 macos cocoa interface-builder core-animation osx-lion

我正在将我的应用从基于单元格的 NSOutlineView 迁移到基于 View 的应用。我现在大部分时间都已切换,但将对象拖放到行上时突出显示的绘制方式存在问题。

标准的系统范围亮点如下所示(来自 NetNewsWire):

NetNewsWire selection

我的亮点看起来基本相同,但最重要的是,没有深蓝色边框:

My own app's selection

如果没有这个,它看起来就很赤裸裸,而且我找不到任何我错误切换的属性。我使用的是 NSOutlineView 的自定义子类,其唯一覆盖的是 -frameOfOutlineCellAtRow:。我没有在 IB 中自定义大纲 View (或其单元格 View )的属性。

最佳答案

我通过制作一个简单的测试应用程序解决了这个问题,我注意到它的行为正确。我逐个 Pane 比较了 IB 中的大纲 View ,直到发现差异。在“ View 效果”检查器中,我打开了背景层(在“核心动画层”部分下),一直向上延伸到堆栈。我取消选中所有这些框,并且得到了正确的突出显示,并且它仍然可以正确地设置动画。

关于macos - 基于 View 的 NSOutlineView 拖放突出显示不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8528874/

相关文章:

swift - 如何在 macOS 上访问 aNotification.userInfo 字典

macos - NSDragOperation通用含义

java - OS-X 上的 VTK Java、Cocoa 异常

cocoa - 在退出时使用 modalWindow 时如何处理 NSButton lockFocus 上的断言失败?

iphone - UISegmentedControl 选定索引始终为 0?

perl - 为 OS X 构建 Perl - 架构特定的编译选项

objective-c - 如何为 Mac OS X Bundle 设置图标?

ios - 如何通过界面生成器在属性字符串中使用动态颜色?

macos - 如何在 NSPopupButton 项目中显示图像和文本

ios - 选项卡栏 Controller 更改指向现有项目的新 View Controller