Interface builder NSControl在不同的Mac上不起作用
我遇到了一个很奇怪的问题,我自己解决不了。我在Interface builder NSControl在不同的Mac上不起作用,interface-builder,nswindow,nscombobox,nscontrol,nscolorwell,Interface Builder,Nswindow,Nscombobox,Nscontrol,Nscolorwell,我遇到了一个很奇怪的问题,我自己解决不了。我在NSWindow中嵌入了几个UI元素,它们作为NSBorderlessWindowMask运行。有2个NSSlider、3个NSButton、一个NSComboBox和一个NSColorWell 该应用程序针对目标10.7构建,并启用了沙箱 在我的开发机器上,每个元素都按预期工作。NSComboBox有一个工作的数据源和委托。NSColorWell也能工作。当我点击NSComboBox时,我可以在其中键入文本。然后,NSColorWell打开一个颜色
NSWindow
中嵌入了几个UI元素,它们作为NSBorderlessWindowMask
运行。有2个NSSlider
、3个NSButton
、一个NSComboBox
和一个NSColorWell
该应用程序针对目标10.7构建,并启用了沙箱
在我的开发机器上,每个元素都按预期工作。NSComboBox
有一个工作的数据源
和委托
。NSColorWell
也能工作。当我点击NSComboBox
时,我可以在其中键入文本。然后,NSColorWell
打开一个颜色选择
当我将我的应用程序交给beta测试人员时,NSComboBox
和NSColorWell
无法编辑。这意味着,我可以将元素添加到NSComboBox
的数据源中(通过导入),它们可以在下拉菜单中选择,但我不能单击nscomboxcell
并编写文本。当我单击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];
它起作用了。但是我想从删除标题栏中看到一个漂亮的外观,所以它只起到一点作用。因为我已经编辑了我的问题,我发现这个问题是由我的主NSBorderlessWindowMask
窗口上的NSBorderlessWindowMask
样式引起的。除了子类化NSWindow
之外,我找不到其他解决方法
我曾经当过导游。如果您只是从项目中提取CustomWindow
类并将其添加到项目中,它也可以工作。然后只需将IB中窗口的类设置为CustomWindow
我仍然不知道是什么导致了这个问题。如果有人有想法,请在下面留下另一个答案。同样的问题。。有什么帮助吗?我接受的解决方案对你有用吗?我的项目在MRR,。。这个不行吗?我知道这个术语是“每月经常性收入”,不能把它们联系起来。你能具体说明一下吗?哇。。我的意思是手动参考计数