美文网首页ios实用开发技巧
UIButtom 实现图片在上文字在下效果

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

作者: Minoz_min | 来源:发表于2017-09-06 10:46 被阅读23次

    通过重写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;
    }
    

    效果如下:


    Simulator Screen Shot 2017年9月8日 上午11.17.38.png

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

    相关文章

      网友评论

      本文标题:UIButtom 实现图片在上文字在下效果

      本文链接:https://www.haomeiwen.com/subject/yepmjxtx.html