今天讲解两种方式自定义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; }