UIButton内テキスト位置を微調整する
まぁ、これはUIView関連。
UIButtonだけでなく、UILabelのテキストなど色んな面で応用が効きます。
UIButtonの場合はタイトルラベル用に専用のインタフェースが準備されてます。
マージンを設定するためには、UIEdgeInsetsを利用します。
UIEdgeInsetsはマージンを表す構造体で、以下のようなパラメータを持っています。
CGRectとは各パラメータの順番が違うので注意してください。
typedef struct UIEdgeInsets { CGFloat top, left, bottom, right; } UIEdgeInsets;
例えばUIButtonの場合は、以下のように利用することでマージンを調整できます。
デザイナーさんから送られてきた画像が、余白に影がある関係でそのままテキストを
設定したら文字が中心からずれてしまうときなどに利用してます。
[button setTitleEdgeInsets:UIEdgeInsetsMake(6, 0, 0, 0)]; ※buttonはUIButton型の変数。UIButtonTypeCustom
これはUIViewなどにも設定可能で、その方法に関する詳しい手順は
以下のサイトを参考にしてください。
frameとしてUIEdgeInsetsInsetRectを設定する形になります。
http://runlooprun.wordpress.com/2011/02/20/uiedgeinsets/