在Button下添加了圖片和文字后顯示了如圖的情況岩喷,然后本想寫(xiě)一個(gè)自定義的Button吏砂,把圖片和文字的位置固定任岸。
1.png
然后突然想到有沒(méi)有自帶的方法可以直接調(diào)整位置竖共,就去搜索了一下,果真有乳绕,分享一下绞惦,同時(shí)也作為自己以后的筆記看看。
在UIButton中有三個(gè)對(duì)EdgeInsets的設(shè)置:ContentEdgeInsets刷袍、titleEdgeInsets、imageEdgeInsets
@property(nonatomic) UIEdgeInsets contentEdgeInsets UI_APPEARANCE_SELECTOR; // default is UIEdgeInsetsZero
@property(nonatomic) UIEdgeInsets titleEdgeInsets; // default is UIEdgeInsetsZero
@property(nonatomic) UIEdgeInsets imageEdgeInsets; // default is UIEdgeInsetsZero
UIEdgeInsets
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;
使用方法
里面的四個(gè)參數(shù)表示距離上邊界樊展、左邊界呻纹、下邊界、右邊界的距離专缠,默認(rèn)都為零雷酪,title/image在button的正中央
[button setImageEdgeInsets:UIEdgeInsetsMake(0, -20, 0, 0)];
[button setTitleEdgeInsets:UIEdgeInsetsMake(0, -20, 0, 0)];
使用效果
2.png
圖標(biāo)和文字都左對(duì)齊了~