3

フォントサイズを動的に変更するときに、テキストの一番下のピクセル行が常に同じ場所に留まるように、NSTextField のテキストを下に揃える必要があります (これを使用してそれを行います)。

現在、このシナリオがあります。たとえば、フォント サイズが 55 から 20 に小さくなると、テキストが境界/フレームの上部にぶら下がりますが、これは私が必要とするものではありません。

テキストを下部に揃えることができるものは見つかりませんでしたが、これを見つけて、カスタム NSTextFieldCell サブクラス用に調整しました。

- (NSRect)titleRectForBounds:(NSRect)theRect {
    NSRect titleFrame = [super titleRectForBounds:theRect];
//    NSSize titleSize = [[self attributedStringValue] size];
    titleFrame.origin.y = theRect.origin.y;
    return titleFrame;
}

- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView {
    NSRect titleRect = [self titleRectForBounds:cellFrame];
    [[self attributedStringValue] drawInRect:titleRect];
}

[myTextField setCell:myTextFieldCell];NSTextField が NSTextFieldCell を使用するようにも使用しましたが、何も変更されていません。これを正しく調整しなかったのですか、それとも他に何が間違っていますか?

4

1 に答える 1