我正在写一个简单的项目在客观的C使用XCode 4.1,针对MacOS(不移动),并遇到以下问题:可可:NSButton被点击后消失。但仍然活跃
我的一个按钮(NSButton,坐在股票之上NSView)会在点击后间歇性消失。它不再被绘制,并且背景被显示在它的位置上。这不是预期的行为,只会偶尔发生一次(可能是20次点击中的一次)。特别奇怪的是,该按钮仍然处于活动状态 - 用户可以点击应该显示该按钮的空间,并且将采取正确的操作并再次绘制该按钮。调整窗口大小也会导致按钮再次被绘制。
我已经尝试以下修正,其中没有工作:
- 添加SetNeedsDisplay调用点击处理结束。
- 将SetNeedsDisplay调用添加到不相关的动画循环中。这是一个糟糕的选择,并导致按钮闪烁,并最终导致使用按钮时崩溃。通过一些同步,这可能会变成一种解决方法,但不能解决根本问题。
关于正在发生的事情以及我如何解决它的任何想法?谢谢!
编辑:仍然不明白为什么会发生这种情况,但我确实找到了解决方法:在正在消失的那个正下方创建一个重复按钮。即使没有绘制,点击也会直接进入顶部按钮。 Kludge肯定,但有效。
它是一个图像按钮?你有替代图像吗?它是什么类型的按钮? – 2012-03-11 12:33:44
只是一个标准的NSButton - 不记得我是否使用了圆形矩形或推。没有与之相关的图像。 – tsellon 2012-03-11 12:52:47
你说你没有以任何方式定制它 - 只是带标题的纯粹标准按钮?你可以发布你的点击处理功能吗? – 2012-03-11 13:08:34