1. ホーム
  2. iphone

UIButtonのテキストマージン/パディング

2023-09-29 12:33:58

質問

以下のようなレイアウトで、左右にパディングを追加しようとしているのですが。

コントロールは無効化されたUIButtonです。

私のボタンを作成するコードはこうです。

UIButton *buttonTime = [[UIButton alloc] initWithFrame:CGRectMake(90, 10, 50, 20)]; 
[buttonTime setBackgroundImage:[[UIImage imageNamed:@"bubble.png"] stretchableImageWithLeftCapWidth:9 topCapHeight:13] forState:UIControlStateDisabled];

[buttonTime setTitle:@"27 feb, 2011 11:10 PM" forState:UIControlStateDisabled];             
[buttonTime setTitleColor:[UIColor blackColor] forState:UIControlStateDisabled];
buttonTime.titleLabel.font=[UIFont fontWithName:@"Helvetica" size:8.0]; 
buttonTime.titleLabel.lineBreakMode= UILineBreakModeWordWrap;
[buttonTime setEnabled:FALSE];
[scrollView addSubview:buttonTime];
[buttonTime release];

どのように解決するのですか?

// Swift
var titleEdgeInsets: UIEdgeInsets!

// Objective-C
@property(nonatomic) UIEdgeInsets titleEdgeInsets;

このプロパティは、ボタンタイトルの有効な描画矩形のサイズ変更と再配置に使用します。4つのインセット(top, left, bottom, right)のそれぞれに異なる値を指定することができます。正の値は、そのエッジを縮小(インセット)し、ボタンの中心に近づける。負の値は、そのエッジを拡大、またはアウトセットする。このプロパティの値を作成するには、UIEdgeInsetsMake関数を使用します。デフォルト値はUIEdgeInsetsZeroです。

https://developer.apple.com/documentation/uikit/uibutton/1624010-titleedgeinsets