Objective c 可可:如何使图标一直依靠权利?
此窗口状态栏。如何使图标一直依赖右侧?调整窗口大小时,它会自动向右移动Objective c 可可:如何使图标一直依靠权利?,objective-c,macos,cocoa,Objective C,Macos,Cocoa,此窗口状态栏。如何使图标一直依赖右侧?调整窗口大小时,它会自动向右移动 -(void)composeInterface{ NSView *themeFrame=[[self.window contentView] superview]; NSRect themeFrameRect = [themeFrame frame]; NSRect accessoryViewFrame =[self.statusBarBtn frame]; NSRect newFrame =
-(void)composeInterface{
NSView *themeFrame=[[self.window contentView] superview];
NSRect themeFrameRect = [themeFrame frame];
NSRect accessoryViewFrame =[self.statusBarBtn frame];
NSRect newFrame = NSMakeRect(30,
themeFrameRect.size.height - accessoryViewFrame.size.height,
accessoryViewFrame.size.width,
accessoryViewFrame.size.height);
[self.statusBarBtn setFrame:newFrame];
// [self.statusBarBtn setFrameOrigin:NSMakePoint(0, 0)];
// [self.statusBarBtn setAutoresizingMask:323];
[themeFrame addSubview:self.statusBarBtn];
}
如果你想让你的图标向右对齐,你需要改变它的自动大小以向右对齐。您需要在尺寸检查器中执行以下操作: 或者像这样使用
-setAutoresizingMask
:
[self.statusBarBtn setAutoresizingMask:333]; //NOT 323
此外,您的
newFrame
的x位置设置为30,因此图标将位于左侧
更改此选项:
NSRect newFrame = NSMakeRect(30,
themeFrameRect.size.height - accessoryViewFrame.size.height,
accessoryViewFrame.size.width,
accessoryViewFrame.size.height);
NSRect newFrame = NSMakeRect(themeFrameRect.size.width - accessoryViewFrame.size.width,
themeFrameRect.size.height - accessoryViewFrame.size.height,
accessoryViewFrame.size.width,
accessoryViewFrame.size.height);
对此:
NSRect newFrame = NSMakeRect(30,
themeFrameRect.size.height - accessoryViewFrame.size.height,
accessoryViewFrame.size.width,
accessoryViewFrame.size.height);
NSRect newFrame = NSMakeRect(themeFrameRect.size.width - accessoryViewFrame.size.width,
themeFrameRect.size.height - accessoryViewFrame.size.height,
accessoryViewFrame.size.width,
accessoryViewFrame.size.height);
@孤魂楚 因为若你们使用323,你们的按钮的宽度将在调整窗口大小时改变,对齐方式将只是向右,而不是顶部和右侧。没问题,很高兴有帮助。