自定义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;
}

 

posted @ 2016-10-18 13:49  夜晚看日出  阅读(221)  评论(0编辑  收藏  举报