小编bit*_*her的帖子

怎么能检测到Mission Control或Command-Tab切换器取代OS X中的一个程序?

我正在尝试在程序中使用CGAssociateMouseAndMouseCursorPosition(NO).当您的应用程序处于"前台"时,这将断开鼠标与屏幕光标的连接.不幸的是,当Mission Control或应用程序切换器或谁知道还有什么问题时,它也会断开连接.

到目前为止,我知道:

  • 该应用程序仍然有效.
  • 窗口仍然是关键.
  • 当这些事情出现时,没有任何东西被发送到默认通知中心.
  • 应用程序停止接收鼠标移动事件,但NSEvent addGlobalMonitorForEventsMatchingMask:handler:也没有收到它们,这至少可以说是奇怪的.它应该接收未发送到我的应用程序的任何事件.(我计划检测丢失的事件,以便知道何时再次关联鼠标.

那么,有没有办法检测我的应用程序何时不再受控制,特别是因为Mission Control或交换机接管了?他们真的希望鼠标能够工作,我需要恢复它们的关联.

cocoa core-graphics

18
推荐指数
1
解决办法
1588
查看次数

在基于约束的布局中,如何使Interface Builder尊重自定义视图的内在内容大小?

XCode 4.5中的Interface Builder尊重某些视图的intrinsicContentSize,例如NSButton,但我不能说服它在我自己的自定义子视图中尊重它.这会导致IB添加额外的约束,试图强制在IB中绘制布局,这会导致在运行程序时不使用内在大小.

例如,考虑一个以窗口为中心的按钮,以及一个以窗口为中心的自定义视图......

中心NSButton的IB约束

中心NSView的IB约束

您可以看到自定义视图有四个约束,可能是因为IB不知道视图的intrinsicContentSize.您可以更改添加的额外约束,例如,您可以强制它为宽度和高度,但不能删除它们.

我现在通过搜索和删除awakeFromNib中的额外约束来处理这个问题,但必须有更好的方法来做到这一点.

interface-builder xcode4 nslayoutconstraint

18
推荐指数
2
解决办法
6651
查看次数