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 的中心点位置。

  • 相关阅读:
    Uploadify v3.2.1 上传图片并预览
    mybatis批量操作
    500 拦截错误输出
    jsnop
    java目录
    设置360调用样式 IE调用样式
    Spring加载resource时classpath*:与classpath:的区别
    context:annotation-config 与context:component-scan
    Andriod调用http请求
    JDK环境变量
  • 原文地址:https://www.cnblogs.com/shisishao/p/5807467.html
Copyright © 2011-2022 走看看