0

このウィンドウのステータスバー。アイコンを作成する方法は、右に依存していますか?ウィンドウのサイズを変更すると、自動的に右に移動します。

ここに画像の説明を入力してください

-(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];
}
4

1 に答える 1

1

アイコンを右揃えにしたい場合は、自動サイズ変更を右揃えに変更する必要がありますサイズインスペクターでこのようにする必要があります:

サイズインスペクター

または、次の-setAutoresizingMaskように使用します。

[self.statusBarBtn setAutoresizingMask:333]; //NOT 323


さらに、あなたnewFrameのsx位置は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);
于 2012-04-22T06:22:21.760 に答える