• UIButton默认,图片居左,文字在右,垂直居中显示,文字与图片没有间距,如下图:

可以通过设置UIButton中的titleEdgeInsets和imageEdgeInsets改变按钮的imageView与titleLabel的位置与间距,推荐给UIButton添加一个分类,将一下方法公开出来,方便所有的按钮调用

github Demo下载地址:https://github.com/yanhaiqiang/HQIconButton

1.图片居左,文字在右,垂直居中显示,文字与图片没有间距为10,如下图:

代码如下:

- (void)setIconInLeftWithSpacing:(CGFloat)Spacing
{self.titleEdgeInsets = (UIEdgeInsets){.top    = 0,.left   = Spacing/2,.bottom = 0,.right  = -Spacing/2,};self.imageEdgeInsets = (UIEdgeInsets){.top    = 0,.left   = -Spacing/2,.bottom = 0,.right  = Spacing/2,};
}

2.图片居右,文字在左,垂直居中显示,文字与图片没有间距为10,如下图:

代码如下:

- (void)setIconInRightWithSpacing:(CGFloat)Spacing
{    CGFloat img_W = self.imageView.frame.size.width;CGFloat tit_W = self.titleLabel.frame.size.width;self.titleEdgeInsets = (UIEdgeInsets){.top    = 0,.left   = - (img_W + Spacing / 2),.bottom = 0,.right  =   (img_W + Spacing / 2),};self.imageEdgeInsets = (UIEdgeInsets){.top    = 0,.left   =   (tit_W + Spacing / 2),.bottom = 0,.right  = - (tit_W + Spacing / 2),};
}

3.图片居上,文字在下,垂直居中显示,文字与图片没有间距为10,如下图:

代码如下:

- (void)setIconInTopWithSpacing:(CGFloat)Spacing
{CGFloat img_W = self.imageView.frame.size.width;CGFloat img_H = self.imageView.frame.size.height;CGFloat tit_W = self.titleLabel.frame.size.width;CGFloat tit_H = self.titleLabel.frame.size.height;self.titleEdgeInsets = (UIEdgeInsets){.top    =   (tit_H / 2 + Spacing / 2),.left   = - (img_W / 2),.bottom = - (tit_H / 2 + Spacing / 2),.right  =   (img_W / 2),};self.imageEdgeInsets = (UIEdgeInsets){.top    = - (img_H / 2 + Spacing / 2),.left   =   (tit_W / 2),.bottom =   (img_H / 2 + Spacing / 2),.right  = - (tit_W / 2),};
}

4.图片居下,文字在上,垂直居中显示,文字与图片没有间距为10,如下图:

代码如下:

- (void)setIconInBottomWithSpacing:(CGFloat)Spacing
{CGFloat img_W = self.imageView.frame.size.width;CGFloat img_H = self.imageView.frame.size.height;CGFloat tit_W = self.titleLabel.frame.size.width;CGFloat tit_H = self.titleLabel.frame.size.height;self.titleEdgeInsets = (UIEdgeInsets){.top    = - (tit_H / 2 + Spacing / 2),.left   = - (img_W / 2),.bottom =   (tit_H / 2 + Spacing / 2),.right  =   (img_W / 2),};self.imageEdgeInsets = (UIEdgeInsets){.top    =   (img_H / 2 + Spacing / 2),.left   =   (tit_W / 2),.bottom = - (img_H / 2 + Spacing / 2),.right  = - (tit_W / 2),};
}

iOS UIButton文字与图片交换位置相关推荐

  1. iOS UIButton文字和图片间距随意调整

    代码地址如下: http://www.demodashi.com/demo/11606.html 前记 在开发中,我们经常会遇到这么一种情况,就是一个按钮上面有图片也有文字,但是往往设计并不是我们想要 ...

  2. iOS UIButton 文字图片上下左右布局

    例如文字在左 图片在右,iOS 9 之后一句话搞定 backBtn.semanticContentAttribute = UISemanticContentAttributeForceRightToL ...

  3. ios 按钮文字下划线_iOS - UIButton设置文字标题下划线以及下划线颜色

    创建button设置可以折行显示 - (void)viewDidLoad { [super viewDidLoad]; UIButton * button = [[UIButton alloc] in ...

  4. Winform水印工具(文字和图片皆可)

    Winform水印工具(文字和图片皆可) 简介:如题Winform水印工具,原图和水印图都将以缩略图的形式展示在工具上 水印类型/水印内容:文字.图片 水印位置:左上角.右上角.居中.左下角.右下角 ...

  5. iOS UIButton 图片文字上下垂直布局 解决方案

    iOS UIButton 图片文字上下垂直布局 解决方案 参考文章: (1)iOS UIButton 图片文字上下垂直布局 解决方案 (2)https://www.cnblogs.com/yajunL ...

  6. html居右显示语言设置,iOS开发:纯代码设置UIButton文字居左或者居右显示

    UIButton这个控件使用,作为资深的iOS开发人员来说是小儿科,但是有些时候还是需要记录一下UIButton的一些其他用法,这样方便快速解决实际问题.比如UIButton的纯代码编程的时候,设置文 ...

  7. ios html富文本带图片,iOS 富文本文字添加图片

    如图:标题前面添加海外直邮和跨境保税,iOS最好使用富文本添加图片附件的方法 NSTextAttachment*textAttachment = [[NSTextAttachment alloc] i ...

  8. Java | 将文字生成在空白图片居中位置(根据图片大小,自动调节文字大小)

    Java | 将文字生成在空白图片居中位置(根据图片大小,自动调节文字大小) 话不多说,直接上代码.(大家可以自己根据需要设置图片大小,不过图片过小时,字体会变模糊,尽量设置图片大一点,600~100 ...

  9. html文字与图片位置关系,Word文档中图片与文本的七种位置关系

    word文档可以插入图片.图片与文本的位置关系有七中情况,分别是嵌入型.四周型环绕.紧密型环绕.穿越型环绕.上下型环绕.衬于文字下方.浮于文字上方. 七种位置关系 工具:Word2013 一.嵌入型 ...

最新文章

  1. 技本功丨请带上纸笔刷着看:解读MySQL执行计划的type列和extra列
  2. Nginx服务器的安装配置
  3. java.util.UnknownFormatConversionException: Conversion = ''';
  4. Beta版冲刺Day1
  5. (三)CSS【不多说了,前端面试 CSS 是必考知识,不过关直接回家】
  6. Supercomputer 解题报告
  7. linux 格式化up命令,uptime 命令介绍
  8. Fixchart图表组件——介绍
  9. 极简代码(三)—— 欧式距离
  10. 智·御未来 亚信安全巡展·2017即将起航
  11. 01函数极限的概念及性质
  12. 第一章 Javascript基础
  13. 计算机组成原理 唐朔飞 思维导图
  14. 科学计算机DEG进入,科学计算器的使用方法(5页)-原创力文档
  15. git push :unable to write sha1 filename ./bojects/xxxx:权限不够
  16. Oracle默认排序规则是什么?
  17. 微信更新,重点关注!
  18. excel数据透视表_Excel数据透视表可轻松实现总计
  19. 三大范式,ER图,外键,视图,索引,触发器
  20. 量子信息革命引领未来科技革命 | 科技导报

热门文章

  1. 行为型模式:观察者模式
  2. python元组创建_python新建元组
  3. ACM之路(14)—— 线段树的日常(上)
  4. Linux编程技术总结
  5. 理解 假阳性(false positive)和假阴性(false negative)概念
  6. 看看小编都用啥!实用Win7小软件大推荐
  7. HTML5 语音搜索
  8. 出新书了!| 赠书啦,免费包邮
  9. Python写简单的拼图小游戏
  10. 2021-2022-1 20212820《Linux内核原理与分析》第一周作业