UIButton文字在左图片在右、空心带边框

- (void)setImageOnRightWithImage:(UIImage *)image forState:(UIControlState)state
{
    [self setImage:image forState:state];
    NSAttributedString *title = [[self titleForState:state] length] > 0 ? [[NSAttributedString alloc] initWithString:[self titleForState:state]] : [self attributedTitleForState:state];
    CGSize textSize = title.size;
    [self setImageEdgeInsets:UIEdgeInsetsMake(0, textSize.width, 0, -textSize.width)];
    [self setTitleEdgeInsets:UIEdgeInsetsMake(0, -image.size.width, 0, image.size.width)];
    [self setContentEdgeInsets:UIEdgeInsetsMake(10, 10, 10, 10)];
}

在使用这个方法前,需要设置btn的title或者attributedTitle,尽量使用attributedTitle;
调整完image和title的edgeInsets后,btn本省的edgeInsets会被置成zero,需重新设置新的edgeInsets

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值