首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSControl不适用于不同的Mac。

NSControl不适用于不同的Mac。
EN

Stack Overflow用户
提问于 2013-07-02 19:54:25
回答 1查看 128关注 0票数 0

我遇到了一个很奇怪的问题,我一个人解决不了。我在NSWindow中嵌入了几个UI元素,它们作为NSBorderlessWindowMask运行。有两个NSSlider,3个NSButton,一个NSComboBox和一个NSColorWell

应用程序为目标10.7构建,并启用了沙箱。

在我的开发机器上,每个元素都按预期工作。NSComboBox有一个工作的DataSourceDelegateNSColorWell也能工作。当我点击NSComboBox时,我可以在其中键入一个文本。NSColorWell打开一个颜色选择。

当我把我的应用程序交给我的测试版测试人员时,NSComboBoxNSColorWell就无法编辑了。这意味着,我可以将元素添加到NSComboBoxNSComboBox中(通过导入),它们可以在下拉菜单中选择,但我不能单击NSComboBoxCell并编写文本。此外,当我单击NSColorWell时,不会打开颜色选择。

我一点也不知道是什么导致了这种行为。每个元素都被正确地连接起来,并且我运行与我的测试版测试器相同的二进制。这两个系统都运行山狮的最新版本。我尝试为测试版测试器创建一个NSButton,它在NSComboBox上运行以下方法

代码语言:javascript
复制
[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];

没人帮上忙。我不知道如何“调试”这种行为。你有什么意见建议?

编辑:,我能把它分解一下。当我移除线时

代码语言:javascript
复制
[self.window setStyleMask:NSBorderlessWindowMask];

它起作用了。但是我想从移除标题栏中得到一个很好的效果,所以这只会有一点帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-03 16:21:15

当我已经编辑到我的问题中时,我发现这个问题是由我的主NSBorderlessWindowMask上的NSWindow样式引起的。除了子类NSWindow之外,我找不到别的方法了。

我用这个例子做向导。如果您只从项目中提取CustomWindow类并将其添加到项目中,它也能工作。然后将IB中窗口的类设置为CustomWindow

我还是不知道是什么引起了这个问题。如果有人有想法,请在下面留下另一个答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17434664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档