zoukankan      html  css  js  c++  java
  • iOS 自定义 Button 实现文字图片同时显示,文字在左边图片在右边,并且图片位置随文字多少动态变化

    我们在开发应用过程中有时会遇到这样的需求:一个 Button 上同时显示文字和图片,文字在左边图片在右边,并且随文字多少动态变化。我们知道,如果是图片在左边文字在右边,直接往 Button 上添加就可以了,Button 默认是图片在左边文字在右边的,而且会随着文字字数多少,图片位置跟着变化。下面来实现文字在左边图片在右边的效果:

    转载请注明出处:https://i.cnblogs.com/EditPosts.aspx?postid=5807467

    首先,先自定义一个 CustomButton 继承自 UIButton 在 .m文件中实现下面三个方法

    #define kBtnImgWidth 24
    
    //调整button内置label和image的相对位置
    
    - (CGRect)titleRectForContentRect:(CGRect)contentRect {
        return CGRectMake(0, 0, contentRect.size.width, kBtnImgWidth);
    }
    
    - (CGRect)imageRectForContentRect:(CGRect)contentRect {
        return CGRectMake(contentRect.size.width-kBtnImgWidth, 0, kBtnImgWidth, kBtnImgWidth);
    }
    
    - (void)setTitle:(NSString *)title forState:(UIControlState)state {
        [super setTitle:title forState:state];
        [self sizeToFit];
    }
    

    此时按钮的图片和文字显示就是你想要的结果,而且会随着文字多少变化图片跟着变化,需要注意的是:在设置完 Button 的文字之后,要重新设置Button 的中心点位置。

  • 相关阅读:
    iptables
    iftop
    sed&awk
    rz&sz
    关于springboot + mybatis plus 使用事务
    关于JsonArray.toList转换
    jmeter脚本录制
    去掉百度右边的百度热搜等干扰项,集中注意力呀~~
    报错
    图片的异步上传
  • 原文地址:https://www.cnblogs.com/shisishao/p/5807467.html
Copyright © 2011-2022 走看看