
屏幕快照 2016-07-31 下午4.05.43.png
- 寫代碼之前,先熟知這三點(diǎn):
if (btnW < imgW) 導(dǎo)致圖像會(huì)被壓縮,文字不顯示
if (btnW < imgW + titleW) 導(dǎo)致圖像正常顯示,文字顯示不全
if (btnW >= imgW + titleW) 圖像和文字都居中顯示,imageView在左,label在右,中間沒有空隙
像上圖這樣一個(gè)按鈕,按鈕的圖片在上,文字在下。你拖個(gè)imageView和lable去實(shí)現(xiàn)也行,這里說按鈕的imageEdgeInsets和titleEdgeInsets屬性。
默認(rèn)情況下,按鈕的圖片在左,文字在右,兩者緊貼,通過修改按鈕的圖片和文字的edgeInset(邊緣插入)實(shí)現(xiàn)文字在左,圖片在右,以及上下的位置。
代碼:
self.myButton.imageEdgeInsets = UIEdgeInsetsMake(0,labelWidth,0,-labelWidth);
self.myButton.titleEdgeInsets = UIEdgeInsetsMake(0,labelWidth,0,-labelWidth);
UIEdgeInsetsMake(),分別為設(shè)置image或title在button上的位置(上top,左left,下bottom,右right)
下面是xib的做法:
記住最開始說的那三點(diǎn)!
xib先扔個(gè)button進(jìn)去,然后:

0BA0CF74-7231-404D-B4A0-632FD1C5D9E0.png

B20EA5FC-3DB3-4570-A41D-F824DA9CB7C8.png
這樣就ok了。