iOS9 シミュレータと iOS9 実機で異なる動作に遭遇した件

シミュレータと実機はどうしても処理結果に差が出ることがあります.
例えば,使用しているフォントが違うため,文字列処理まわりとかですね.

理屈では分かってはいても,実機で確認することを忘れていて,あとで「アッ」てことがあります.

先日,UIButton の titleEdgeInsets を調整して,シミュレータでしか確認していなかったため,痛い目にあいました.
iOS9 から新しいフォントが適用されているので,要注意ですね.

ちなみに,UIButton では,
titleEdgeInsets : タイトル位置を調整
imageEdgeInsets : 画像の位置を調整 ができます.

1
2
3
4
5
6
7
// 平行移動をしたい場合は,一方に + (内側に入り込む),反対側に - (外側に出る) を設定する必要があります. 
UIEdgeInsetsMake(0, 100, 0, -100)
 
 
typedef struct UIEdgeInsets {
    CGFloat top, left, bottom, right;  // specify amount to inset (positive) for each of the edges. values can be negative to 'outset'
} UIEdgeInsets;

参考: UIButtonで、画像とタイトルの位置を入れ替える時にハマった話 (UIEdgeInsets)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です