屏幕快照 2016-07-31 下午4.05.43.png
- 写代码之前,先熟知这三点:
if (btnW < imgW) 导致图像会被压缩,文字不显示
if (btnW < imgW + titleW) 导致图像正常显示,文字显示不全
if (btnW >= imgW + titleW) 图像和文字都居中显示,imageView在左,label在右,中间没有空隙
像上图这样一个按钮,按钮的图片在上,文字在下。你拖个imageView和lable去实现也行,这里说按钮的imageEdgeInsets和titleEdgeInsets属性。
默认情况下,按钮的图片在左,文字在右,两者紧贴,通过修改按钮的图片和文字的edgeInset(边缘插入)实现文字在左,图片在右,以及上下的位置。
代码:
self.myButton.imageEdgeInsets = UIEdgeInsetsMake(0,labelWidth,0,-labelWidth);
self.myButton.titleEdgeInsets = UIEdgeInsetsMake(0,labelWidth,0,-labelWidth);
UIEdgeInsetsMake(),分别为设置image或title在button上的位置(上top,左left,下bottom,右right)
下面是xib的做法:
记住最开始说的那三点!
xib先扔个button进去,然后:
0BA0CF74-7231-404D-B4A0-632FD1C5D9E0.png
B20EA5FC-3DB3-4570-A41D-F824DA9CB7C8.png
这样就ok了。