我在自定义NSOutlineView
中使用苹果教程中的一个略有修改的ImageAndTextCell
。对于那些不熟悉它的人来说,它是一个NSTextFieldCell
子类,它在单元格文本的左侧绘制图像。导致部分源列表焦点环的核心动画
我有一个类似iTunes的源列表,包括组行和下方的项目。在编辑单元格的值时,对焦环仅为组的前两行绘制(见下文)。对焦环的前三分之一画在第一排,最下面的三分之一画在第二排。
后续的行很好(见下面的第三行),它们都具有相同的图像。什么可能导致这个? (见下面3更新。核心动画是导致此行为)
更新1
我ImageAndTextCell
注释掉几乎所有的自定义代码,它并没有区别(只有init
,dealloc
,copyWithZone
和image
吸气剂和二道滤器依然存在)。
更新2
我评论的NSOutlineView
子几乎所有的代码,我的代理类,以及保持从更新1中的所有代码注释掉了 - 还是奇怪的结果。第三行不再总是完美的,但是当我删除各种功能时,绘制的焦点矩形部分移位。
此外,我遇到的问题在我的两个大纲组的第二个。当重命名第一组中的唯一项目时,焦点矩形在每一步都是完美的。讽刺的是,这是在我的应用程序的标准操作过程中无法重命名的。
接下来,我会看看我在NIB中的所有设置,看看有没有什么东西可能会被打破。
更新3
我能够全线禁用核心动画在我的窗前,每个视图进行修复。现在的问题已经变成:我如何重新启用核心动画而不会让我的焦点看起来糟糕透顶?
是行中对行中不同数据集的行为是否一致? – govi 2011-04-21 19:04:10
当我将上面的'第三行文本'移动到'第二行文本'的位置时,它会像前面的'第二行文本'那样错误地绘制。内容似乎没有区别。 – Dov 2011-04-21 19:06:36
我刚刚在试验聚焦环时遇到了这个问题。 Lion中也有一个焦点环的bug。 – 2013-01-17 13:37:58