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

来源:互联网 发布:淘宝口碑网 编辑:程序博客网 时间:2024/04/29 22:55
- (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

1 0
原创粉丝点击