我遇到了一个非常奇怪的问题,我自己无法解决。我在NSWindow
运行时嵌入了几个 UI 元素NSBorderlessWindowMask
。有 2 NSSlider
、 3 NSButton
、 aNSComboBox
和 a NSColorWell
。
该应用程序针对目标 10.7 构建并启用了沙盒。
在我的开发机器上,每个元素都按预期工作。有NSComboBox
一个工作DataSource
和Delegate
. NSColorWell
也确实有效。当我单击 时NSComboBox
,我可以在其中输入文本。并NSColorWell
打开颜色选择。
当我将我的应用程序交给我的 beta 测试人员时,NSComboBox
和NSColorWell
无法编辑。这意味着,我可以将元素添加到DataSource
(NSComboBox
通过导入),并且可以在下拉菜单中选择它们,但我无法单击NSComboBoxCell
并写入文本。当我单击NSColorWell
.
我完全不知道是什么导致了这种行为。每个元素都正确连接,我运行与我的 beta 测试器相同的二进制文件。这两个系统都运行最新版本的 Mountain Lion。我尝试为 beta 测试器创建一个NSButton
,它在以下设备上运行以下方法NSComboBox
:
[self.nameCB reloadData];
[self.nameCB setEnabled:YES];
[self.nameCB setEditable:YES];
[self.nameCB setNeedsDisplay:YES];
[self.nameCB setFrame:self.nameCB.frame];
[self.nameCB becomeFirstResponder];
[self.nameCB setSelectable:YES];
没有任何帮助。我不知道如何“调试”这种行为。你有什么建议吗?
编辑:我能够把它分解一下。当我删除线
[self.window setStyleMask:NSBorderlessWindowMask];
有用。但我想从删除标题栏得到一个漂亮的外观,所以它只会有一点帮助。