開發(fā)過程中經(jīng)常遇到通過imageEdgeInsets和titleEdgeInsets去設置button中的image,title的位置,來達到想要的效果。但因為對其原理的不了解,經(jīng)常碰壁,設置了卻達不到自己想要的效果。終于找到這篇文章,文章作者解析的很詳細,這里記錄一下,方便自己日后查閱。
1.常用的button樣式,圖片在上,文字在下
UIButton *btn = [UIButton new];
CGFloat imageWidth = btn.imageView.intrinsicContentSize.width;
CGFloat imageHeight = btn.imageView.intrinsicContentSize.height;
CGFloat labelHeight = btn.titleLabel.intrinsicContentSize.height;
btn.imageEdgeInsets = UIEdgeInsetsMake(0, (btnwidth - imageWidth) / 2, labelHeight, (btnwidth - imageWidth) / 2);
btn.titleEdgeInsets = UIEdgeInsetsMake(imageHeight+10, -imageWidth, 0, 0);
轉(zhuǎn)載:button的imageEdgeInsets和titleEdgeInsets原理
demo地址: SPButton