0

アプリケーションでカスタム フォントを使用しています。これをラベル、ボタン、テキストフィールドに設定しました。しかし、カスタム フォントを使用すると、すべてのオブジェクトのテキストの配置が変更されます。上面からの表示です。

デフォルトのフォントのラベルは次のとおりです。

ここに画像の説明を入力

カスタムフォントのラベルは次のとおりです。

ここに画像の説明を入力

コードは次のとおりです。

    lbl.textAlignment = NSTextAlignmentCenter;
    lbl.backgroundColor = [UIColor redColor];
    [lbl setFont:[UIFont fontWithName:@"HelveticaNeueLTStd-ThCn" size:[lbl.font pointSize]]];

ポインタはありますか?

4

2 に答える 2

0

これには 2 つのオプションがあります: 1) drawText メソッドをオーバーライドできるオプション

- (void) drawTextInRect:(CGRect)rect
{   
    UIEdgeInsets insets = {0,5,0,5};

    [super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)];
}

2)sizeToFitメソッドを使用して、UILabel の正確な高さと幅を取得できます。

于 2013-09-26T10:25:10.730 に答える
0

の正しい値は次のNSTextAlignmentとおりです。

typedef enum _NSTextAlignment {
   NSLeftTextAlignment      = 0,
   NSRightTextAlignment     = 1,
   NSCenterTextAlignment    = 2,
   NSJustifiedTextAlignment = 3,
   NSNaturalTextAlignment   = 4
} NSTextAlignment;

NSTextAlignmentCenterは有効な値ではありません。

参照: https://developer.apple.com/library/mac/documentation/cocoa/reference/ApplicationKit/Classes/NSText_Class/Reference/Reference.html#//apple_ref/c/tdef/NSTextAlignment

于 2013-09-25T10:18:02.780 に答える