iOS之UIButton的titleEdgeInsets和imageEdgeInsets属性按钮UIButton的常用属性及方法总结(三)

本文主要是介绍iOS之UIButton的titleEdgeInsets和imageEdgeInsets属性按钮UIButton的常用属性及方法总结(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

常见设置:https://www.jianshu.com/p/d23a8234729c

1.文字左边图片右边:

// button标题的偏移量 
btn.titleEdgeInsets = UIEdgeInsetsMake(0, -btn.imageView.bounds.size.width+2, 0, self.locationBtn.imageView.bounds.size.width);
 // button图片的偏移量
btn.imageEdgeInsets = UIEdgeInsetsMake(0, btn.titleLabel.bounds.size.width, 0, -btn.titleLabel.bounds.size.width);

2.图片上文字下:

/ button标题的偏移量
btn.titleEdgeInsets = UIEdgeInsetsMake(btn.imageView.frame.size.height+5, -sbtn.imageView.bounds.size.width, 0,0);
// button图片的偏移量
btn.imageEdgeInsets = UIEdgeInsetsMake(0, btn.titleLabel.frame.size.width/2, btn.titleLabel.frame.size.height+5, -btn.titleLabel.frame.size.width/2);

 

 

    设置按钮的内容居中:    btn.contentHorizontalAlignment=UIControlContentHorizontalAlignmentCenter;

同时有image和label且在默认情况下,这时候image的上左下边界是相对于button右边是相对于label的;label的上右下边界是相对于button左边是相对于image的

UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)

四个属性分别是对于控件的下边界,右边界,上边界,左边界。

结合上面知识举个例子:

btn.imageEdgeInsets = UIEdgeInsetsMake(0, 5, 0, -5);UIEdgeInsetsMake(0, 5, 0, -5);

这行代码的意思是对于image来说,下边界和上边界不动,右边界相对于label的左边界向右偏移5,左边界相对于btn的左边界向左偏移-5,也就是向右偏移5。所以可以想象image整体向右偏移5了。

再举个例子:

btn.titleEdgeInsets = UIEdgeInsetsMake(5, -5, -5, 5);UIEdgeInsetsMake(5, -5, -5, 5);

这行代码的意思是对于label来说,下边界相对于btn的下边界向下偏移5,右边界相对于btn的右边界向右偏移-5,上边界相对于btn的上边界偏移-5,左边界相对于image的右边界向左偏移5。所以可以想象label整体向左偏移5,向下偏移了5。

这篇关于iOS之UIButton的titleEdgeInsets和imageEdgeInsets属性按钮UIButton的常用属性及方法总结(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1017749

相关文章

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

Spring Cache注解@Cacheable的九个属性详解

《SpringCache注解@Cacheable的九个属性详解》在@Cacheable注解的使用中,共有9个属性供我们来使用,这9个属性分别是:value、cacheNames、key、key... 目录1.value/cacheNames 属性2.key属性3.keyGeneratjavascriptor

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

使用@Cacheable注解Redis时Redis宕机或其他原因连不上继续调用原方法的解决方案

《使用@Cacheable注解Redis时Redis宕机或其他原因连不上继续调用原方法的解决方案》在SpringBoot应用中,我们经常使用​​@Cacheable​​注解来缓存数据,以提高应用的性能... 目录@Cacheable注解Redis时,Redis宕机或其他原因连不上,继续调用原方法的解决方案1

sql语句字段截取方法

《sql语句字段截取方法》在MySQL中,使用SUBSTRING函数可以实现字段截取,下面给大家分享sql语句字段截取方法,感兴趣的朋友一起看看吧... 目录sql语句字段截取sql 截取表中指定字段sql语句字段截取1、在mysql中,使用SUBSTRING函数可以实现字段截取。例如,要截取一个字符串字

JAVA数组中五种常见排序方法整理汇总

《JAVA数组中五种常见排序方法整理汇总》本文给大家分享五种常用的Java数组排序方法整理,每种方法结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录前言:法一:Arrays.sort()法二:冒泡排序法三:选择排序法四:反转排序法五:直接插入排序前言:几种常用的Java数组排序

Spring Boot 事务详解(事务传播行为、事务属性)

《SpringBoot事务详解(事务传播行为、事务属性)》SpringBoot提供了强大的事务管理功能,通过@Transactional注解可以方便地配置事务的传播行为和属性,本文将详细介绍Spr... 目录Spring Boot 事务详解引言声明式事务管理示例编程式事务管理示例事务传播行为1. REQUI

Python将字符串转换为小写字母的几种常用方法

《Python将字符串转换为小写字母的几种常用方法》:本文主要介绍Python中将字符串大写字母转小写的四种方法:lower()方法简洁高效,手动ASCII转换灵活可控,str.translate... 目录一、使用内置方法 lower()(最简单)二、手动遍历 + ASCII 码转换三、使用 str.tr

Python处理超大规模数据的4大方法详解

《Python处理超大规模数据的4大方法详解》在数据的奇妙世界里,数据量就像滚雪球一样,越变越大,从最初的GB级别的小数据堆,逐渐演变成TB级别的数据大山,所以本文我们就来看看Python处理... 目录1. Mars:数据处理界的 “变形金刚”2. Dask:分布式计算的 “指挥家”3. CuPy:GPU

Java中的StringUtils.isBlank()方法解读

《Java中的StringUtils.isBlank()方法解读》:本文主要介绍Java中的StringUtils.isBlank()方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录所在库及依赖引入方法签名方法功能示例代码代码解释与其他方法的对比总结StringUtils.isBl