iOS 按钮 文字在左 图片在右的实现

我们在项目开发中,往往会遇到一个按钮的文字在左 图片在右的需求,如下图:


按钮的文字与图片位置.png

我在网上也找了不少类似的文章,实现出了的问题就是文字与图片会重叠,重叠的原因就是获取的 button.titleLabel.width 为 0。

所以我先获取到button.titleLable.text的宽度,代码:

[lookMoreBtn setImage:[UIImage imageNamed:@"look_more_image"] forState:UIWindowLevelNormal];

CGSize size_1 = [lookMoreBtn.titleLabel.text boundingRectWithSize:CGSizeMake(MAXFLOAT, 40) options:NSStringDrawingTruncatesLastVisibleLine attributes:@{NSFontAttributeName:textFontWeightSize(13, 0)} context:nil].size;

再来调节button上的文字与图片的位置:

//设置偏移量
lookMoreBtn.titleEdgeInsets = UIEdgeInsetsMake(0, -lookMoreBtn.currentImage.size.width, 0, lookMoreBtn.currentImage.size.width);
lookMoreBtn.imageEdgeInsets = UIEdgeInsetsMake(0, size_1.width + 10, 0, -size_1.width - 10);
            
//居中位置设置
lookMoreBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,618评论 0 17
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,826评论 1 92
  • 2017.02.22 可以练习,每当这个时候,脑袋就犯困,我这脑袋真是神奇呀,一说让你做事情,你就犯困,你可不要太...
    Carden阅读 1,388评论 0 1
  • 然妈笔记 **多湖辉**** **是日本家喻户晓的心理学家、教育家,在国际上享有声望的实用心理学大师。他出版了很多...
    nase_luobeng阅读 1,127评论 0 0