天天看点

uibutton实现左文字右图片

uibutton默认是左图片,右文字。并且在设置edge insets之前,位置已经有了设定。所以设置title的edge insets,真实的作用是在原来的边距值基础上增加或减少某个间距,负值便是减少。
           
UIImage *imgArrow = [UIImage imageNamed:@"arrow"];
[btn setTitleEdgeInsets:UIEdgeInsetsMake(0, -imgArrow.size.width, 0, imgArrow.size.width)];
[btn setImageEdgeInsets:UIEdgeInsetsMake(0, [NSHelper widthOfString:btn.titleLabel.text font:btn.titleLabel.font height:btn.frame.size.height]+3, 0, -([NSHelper widthOfString:btn.titleLabel.text font:btn.titleLabel.font height:btn.frame.size.height]+3))];