重新定位的standardWindowButton移回顶部

时间:2015-10-06 11:47:36

标签: macos cocoa osx-elcapitan appkit nstitlebaraccessoryviewcontroller

我正在重新定位NSWindow标准按钮,如下所示:

NSButton *closeButton = [self standardWindowButton:NSWindowCloseButton]; [closeButton setFrameOrigin: NSMakePoint(50,20)];

这完美无缺,直到窗口上出现一个模态表格,此时按钮跳到左上角(通常是这里)。我想将它放在标题栏中(使用NSTitlebarAccessoryViewController增加了高度。

这只是在 El Capitan 之后才开始发生,我无法自动重新定位回中心。我已经尝试过观察窗口事件并强制重新布局,但一段时间后重置。有没有办法重新定位这些按钮并使它们“坚持”?

1 个答案:

答案 0 :(得分:0)

在每个按钮上结束观察NSViewDidUpdateTrackingAreasNotification,然后再次重新定位它们。操作系统似乎无缘无故地更新位置。