如何显示resize indicators
对于没有标题栏一个NSWindow?
我创建了一个新的Xcode项目(适用于Mac的应用程序)与故事板。我只是在禁用外观的复选框Title Bar
(它隐藏NSwindow的标题栏)。
但奇怪的是,禁用标题栏后,NSWindow没有显示调整指标,而鼠标是窗口边缘的上方。虽然如果我在边缘拖动它被调整。
我想这是一个错误,因为如果该窗口可以通过在边缘拖动鼠标来调整大小,它必须显示调整大小的指标。
因为它可以在图像中可以看出,调整大小的指标被视为用户拖动窗口后,但许多用户会认为,因为没有调整大小的指标,该窗口不调整大小。
我已经通过继承NSWindow
和压倒一切的canBecomeKeyWindow
返回YES
修复了这个问题:
#import "MyWindow.h"
@implementation MyWindow
- (BOOL)canBecomeKeyWindow {
return YES;
}
@end
没有更新调整光标在这种情况下看起来像苹果的bug。文件指出,“canBecomeKeyWindow
属性的值是YES
如果窗口有一个标题栏或调整大小酒吧,或NO
否则,”因此,我希望canBecomeKeyWindow
将返回YES
为可调整大小的窗口。但事实并非如此。
UPD:经过上10.10.5。我们希望,你将有10.11相同的行为。
我没有检查这一点,但你可以手动设置的调整指标。我想我会添加四个NSTrackingAreas到windows内容查看子类(一个窗口的每边,高度/宽度只有几个像素)。在的mouseEntered()方法,创建适当的鼠标位置的新NSCursor对象。请记住,位置可能会改变,所以使用的mouseMoved()方法为好。上的mouseExited()复位光标。
同样,我没有试过,但它应该工作。
PS:不要忘记提交有关该雷达;)