0

タイトルは、私がやりたいことについてかなり具体的です。カスタム ビューがあり、そのビュー内にいくつかの要素を描画しました。自動サイズ設定のプロパティをプログラムで変更するにはどうすればよいですか? 私は周りを見回しましたが、私の場合に役立つものは何も見つかりませんでした。

目標 C:

- (void)drawRect:(NSRect)HTMLContent { 
    NSGraphicsContext* gc = [NSGraphicsContext currentContext];
    [gc saveGraphicsState];
    int height = [[NSScreen mainScreen] frame].size.height;
    int screenwidth = [[NSScreen mainScreen] frame].size.width;
    int emailInnerContentWidth = screenwidth - 510;

    // Horizontal Line
    [[NSColor colorWithCalibratedRed:.8 green:.82 blue:.83 alpha:1] setFill];
    NSBezierPath* drawingPath = [NSBezierPath bezierPathWithRect:NSMakeRect(337, 570, emailInnerContentWidth, 2)];
    [drawingPath fill];

    // Social Icon
    NSRect outrect = NSMakeRect(355, 585, 58, 58);
    [[NSColor lightGrayColor] setStroke];
    [[NSColor colorWithPatternImage:[NSImage imageNamed:@"NoSocialIcon.png"]] setFill];
    NSBezierPath* outcirclePath = [NSBezierPath bezierPath];
    [outcirclePath appendBezierPathWithOvalInRect: outrect];
    [[NSColor lightGrayColor] setStroke];[[NSImage imageNamed:@"NoSocialIcon.png"] drawInRect:outrect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1];
    [outcirclePath stroke];

    // Restore graphics state
    [gc restoreGraphicsState];
}

ウィンドウの下部が変化しても影響を受けないように、これら 2 つの形状を設定したいと考えています。ウィンドウの上部の高さが変わったときに変更したい。私はAppleのドキュメントを見てきましたが、何も機能していないようです。前もって感謝します

4

1 に答える 1

1

したがって、2 つの形状のそれぞれについて、次のようになります。

[shape setAutoresizingMask:NSViewNotSizable | NSViewMaxXMargin | NSViewMinYMargin];
于 2012-07-16T00:22:34.847 に答える