我想在我的Mac OS X应用程序窗口的标题栏右侧放置进度微调器,但我无法做到这一点与界面生成器,因为它不让我拖动视图里面。如何在Mac应用程序的标题栏中放置进度微调器
所以,我试图把它的标题栏编程,用下面的代码的applicationDidFinishLaunching
方法里面AppDelegate.m:
loadingSpinner = [[NSProgressIndicator alloc] init];
[loadingSpinner setFrame:NSMakeRect(485, 0, 17, 17)];
[loadingSpinner setStyle:NSProgressIndicatorSpinningStyle];
NSView *titleBarView = [[_window standardWindowButton:NSWindowCloseButton] superview];
[titleBarView addSubview:loadingSpinner];
然而,这是把我的进步旋转视图在底部该窗口而不是标题栏。看起来NSMakeRect()将它定位在窗口的底部,而不是顶部。
如果我将NSMakeRect(y位置)的第二个参数更改为370,它将加载微调器放在我想要的位置,但显然当我垂直调整窗口大小时,会将进度微调器一起至底部。
我从来没有见过这样的事情。我该如何解决这个问题?
P.S .:另外,我不知道是否有一个“更正确”的方式来获得标题栏视图。正如你所看到的,我使用关闭按钮视图的超级视图来获取它,这看起来有点“脏”。
谢谢!我只是把'[loadingSpinner setAutoresizingMask:NSViewMaxXMargin | NSViewMinYMargin];'现在当窗口调整大小时,进度微调不会被移动。 –