UIKitのUIButtonのタイトルはデフォルトでは中央寄せです。
そのタイトルを左寄せや右寄せにする方法や余白の付け方について解説します。
UIButtonのタイトルを右寄せや左寄せにする
タイトルの左寄せや右寄せはプロパティが用意されていますので、
専用の値をセットするだけで簡単に指定する事が出来ます。
contentHorizontalAlignmentプロパティに対してUIControlContentHorizontalAlignmentLeftを指定すれば左寄せ、
UIControlContentHorizontalAlignmentRightを指定すれば右寄せとなります。
// UIButtonを作成 UIButton* button = [[[UIButton alloc] init] sutorelease]; // タイトルを設定 [button setTitle:@"abcd" forState:UIControlStateNormal]; // タイトルの左寄せ button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; // タイトルの右寄せ button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight; // 追加する [self.view addSubview:button];
タイトル等の余白の設定方法
左右にタイトルを寄せると、ピッチリ寄せてしまうので見難くなってしまいます。
そこで、パディング(余白)をつけましょう。
タイトルの余白の付け方はtitleEdgeInsetsプロパティに対して余白値の設定を与えてやります。
UIButtonのタイトルにpaddingをつけるには、
// タイトルに余白をつける button.titleEdgeInsets = UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right);
UIEdgeInsetsMakeの指定値は全てfloatで指定し、
パディングの指定順序は上、左、右、下の順序で指定します。
また、パディングは画像にも指定する事が出来ます。
その場合、プロパティがimageEdgeInsetsに変わるだけで、指定の方法は同じです。
// 画像に余白をつける button.imageEdgeInsets = UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right);
他にも、コンテンツに対しての余白設定プロパティも用意されています。
// コンテンツに余白をつける button.contentEdgeInsets = UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right);
細かいデザインを構築する際には多用するプロパティ、メソッドですので、
しっかりと身に付けておきましょう。