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

  • 相关阅读:
    weblogic复现利用系列-2019
    weblogic复现利用系列-2020
    Python3编码解码与数据类型转换
    weblogic复现利用系列-2017
    weblogic从ssrf到redis获取shell
    fastjson反序列化复现
    shiro721复现
    Shiro550复现和挖掘思路
    RMI反序列化
    手写一个admin 组件------STARK
  • 原文地址:https://www.cnblogs.com/shisishao/p/5807467.html
Copyright © 2011-2022 走看看