自定义UIButton

今天讲解两种方式自定义UIButton(文字在左边,图片在右边)

1、创建一个类继承自UIButton,从写UIButton的- (CGRect)titleRectForContentRect:(CGRect)contentRect和- (CGRect)imageRectForContentRect:(CGRect)contentRect方法:

- (CGRect)imageRectForContentRect:(CGRect)contentRect{
        //图片宽高等于button高度,可以自己定义大小
    return CGRectMake(0, 0, contentRect.size.height, contentRect.size.height);
}
- (CGRect)titleRectForContentRect:(CGRect)contentRect{
    return CGRectMake(contentRect.size.height, 0, contentRect.size.width - contentRect.size.height, contentRect.size.height);
}

2、重写UIButtonde的layoutSubviews方法

- (void)layoutSubviews{
    [super layoutSubviews];
    
    CGRect titleFrame = self.titleLabel.frame;
    titleFrame.origin.x = 0;
    self.titleLabel.frame = titleFrame;
    
    CGRect imageFrame = self.imageView.frame;
    imageFrame.origin.x = self.titleLabel.frame.size.width;
    self.imageView.frame = imageFrame;
}
原文地址:https://www.cnblogs.com/czc-wjm/p/5972998.html