失去焦点后,NSTextField无法正确刷新

时间:2013-12-02 13:53:16

标签: objective-c cocoa nstextfield

我的程序的NSTextfield有点问题 当我选择它们时,它们会获得聚焦环或变暗(如果禁用聚焦环)但如果我取消选择它们则不会正确重绘。

Image of this NSTextField problem

选择了第一个文本字段,并在取消选择后保持颜色较深(此字段禁用了对焦环)。
选择了第二个文本字段,但一旦未选中则保留一部分聚焦环(聚焦环的某些部分也会留在另外两个文本字段上)。
根本没有选择第三个文本字段。

看起来边框没有正确刷新,并且在NSTextField上调用needDisplay似乎没有任何效果。

我只使用NSTextfield(没有子类),我只改变字体大小(到Lucida Grande 11)。我可能错过了一些明显的东西,但我无法找到这个问题的原因。

- 编辑 -

我与这些文本字段相关的唯一代码是“已发送操作”,我只是阅读这些字段的内容。
我试图添加一个新的NSTextfield,更改属性以匹配这些有问题的文本字段,它实际上工作得很好,除了我不能设置我有相同的圆形边框。 Xcode以一种方式显示它们,但在构建和运行应用程序时,它与Xcode显示的不匹配。

在执行这些第一个NSTextfields时,我使用Xcode设置为包含它们的视图播放了一些内容 我将Appearance从Inherited(Aqua)更改为Light Content,这改变了文本字段的外观,我认为我的视图现在混合了Aqua / Light Content的外观。

它可能与该外观设置有关吗?

谢谢, 托马斯

1 个答案:

答案 0 :(得分:0)

我做了一些测试,创建了一个新的空项目 " bug"很容易重现:
- 创建一个新的Cocoa应用程序
- 在主窗口的视图中添加一些NSTextField
- 将窗口的外观更改为Light Content
- 运行应用程序

所以我猜这实际上是一个错误而且与我所做的事情无关。

感谢您试图帮助我。