NSToolbar中的NSComboBox通过IB引发异常

时间:2011-10-25 20:03:46

标签: objective-c cocoa interface-builder toolbar nscombobox

我想在NSToolbar中使用NSComboBox。我通过IB和Xcode 4.2来做到这一点。我可以将comboBox放在工具栏中并启动程序。第一次 - 也是第一次 - 应用程序启动,当我在ComboBox中设置焦点时,我得到以下异常:

  

解锁焦点错误的视图((null)),预期的NSComboBox

下次我将焦点设置在组合框中时,不会引发任何异常。

如果我对NSTextField或searchField做同样的事情,我不会得到任何异常。由于我不记得在早期版本的Xcode / Objective-C中遇到过这样的问题,我想知道,如果这是一个错误。

4 个答案:

答案 0 :(得分:1)

我有同样的问题。将测试字段设置为不可编辑对我来说不是一个选项,我无法通过View中的Box来解决问题。

由于问题似乎与“焦点”有关,我去了界面构建器并为NSComboBox将焦点环设置为“无”。这解决了我的问题。

可以使用-setFocusRingType:NSFocusRingTypeNone以编程方式完成此操作。

答案 1 :(得分:0)

您是否尝试过以下解决方法?

在工具栏中删除NSComboBox之前,尝试在工具栏上删除空的NSView。这应该为您创建一个带有空视图的工具栏项。然后将NSComboBox放在刚刚创建的工具栏项目内的NSView中。

我有类似的问题,这对我有用。

答案 2 :(得分:0)

我遇到了同样的问题。将组合框的行为更改为仅可选择可修复此问题。

幸运的是,我不需要组合框可以编辑。

答案 3 :(得分:0)

同样的问题,在NSPanel中使用NSComboBox。我在IB中将焦点环从“默认”更改为“无”。这解决了这个问题。

这是一个更多的背景。我的代码运行良好,直到进行了多次更改:从Xcode 4.2(Snow Leopard)转换为4.3(Lion)后出现问题。此过渡也包括从GC迁移到ARC。