我遇到了一个非常奇怪的问题,我自己无法解决。我在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];
有用。但我想从删除标题栏得到一个漂亮的外观,所以它只会有一点帮助。