0
点赞
收藏
分享

微信扫一扫

UIButtom 实现图片在上文字在下效果

科牛 2021-09-29 阅读 101

通过重写UIButton的imageRectForContentRect,titleRectForContentRect两个方法实现图片在上文字在下效果,主要代码如下(xib,纯代码都可以实现):

- (CGRect)imageRectForContentRect:(CGRect)contentRect
{
    CGRect rect = [super imageRectForContentRect:contentRect];
    rect.origin.x = (CGRectGetWidth(contentRect)  - CGRectGetWidth(rect)) / 2.0;
    rect.origin.y = CGRectGetHeight(contentRect) * 0.2;
    
    return rect;
}

- (CGRect)titleRectForContentRect:(CGRect)contentRect
{
    CGRect rect = [super titleRectForContentRect:contentRect];
    //设置为0里要设置button的titleLabel.textAlignment为NSTextAlignmentCenter
    rect.origin.x = 0;
    rect.origin.y = CGRectGetMaxY([self imageRectForContentRect:contentRect]) + 5;
    rect.size.width = CGRectGetWidth(contentRect);
    
    return rect;
}

效果如下:


demo地址
https://github.com/Minozmin/HHMButtonDemo.git

举报

相关推荐

0 条评论