- 写代码之前,先熟知这三点:
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进去,然后:
这样就ok了。
网友评论