UIButton 上默认是图片在左文字在右,而大多数情况这样默认的的显示形式都不能满足我们的需求,接下来我就这个问题分享一下我的心得。

默认情况下,不设置的效果,都是居中实现

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

button.frame = CGRectMake(50, 50, 150, 100);

button.backgroundColor = [UIColor yellowColor];

[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

[button setTitle:@"title" forState:UIControlStateNormal];

[button setImage:[UIImage imageNamed:@"tab5"] forState:UIControlStateNormal];

[self.view addSubview:button];

*********************************************************

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

上面的四个数值是基于原位置而改变的例如:

[button setTitleEdgeInsets:UIEdgeInsetsMake(0, 0, 0, 60)];

[button setImageEdgeInsets:UIEdgeInsetsMake(0, 60, 0, 0)];

title 的CGFloat right改变的60 是基于原位置的titleLabel的右边框向左平移60也就是到右边框的距离。

image也是一样,距离原来imageView的左边框向右平移了60。

*********************************************************

[button setTitleEdgeInsets:UIEdgeInsetsMake(30, 0, 0, 30)];

[button setImageEdgeInsets:UIEdgeInsetsMake(0, 30, 30, 0)];

上下移动的原理同左右;

***********************************************

* 注意:这4个数值的位移都是基于原来的位置进行移动的例如第  *

* 一个数就是基于原来上边框的位置向下移动,正数向下移动负数 *

* 向上移动;左右同理;                                                    *

***********************************************

UIButton上图片和文字的位置调整的更多相关文章

  1. UIButton的图片和文字相对位置调整

    通常.假设直接设置UIButton的图片和文字,默认的两者相对位置可能不是我们想要的,那么须要进行调整. 须要用到的函数例如以下: UIEdgeInsetsMake(CGFloat top, CGFl ...

  2. 一种基于重载的高效c#上图片添加文字图形图片的方法

    在做图片监控显示的时候,需要在图片上添加文字,如果用graphics类绘制图片上的字体,实现图像上添加自定义标记,这种方法经验证是可行的,并且在visual c#2005 编程技巧大全上有提到,但是, ...

  3. duilib进阶教程 -- 图片和文字的位置调整 (5)

    已经有8个晚上没写教程啦,因为之后遇到了一些问题,主要是TreeView控件的问题,这个问题搞了几个晚上,然后还需要调试代码才能知道它的用法,虽然能够调试出来,但毕竟没什么含金量,只是重复劳动而已,相 ...

  4. 自定义UIButton 实现图片和文字 之间距离和不同样式

    喜欢交朋友的加:微信号 dwjluck2013 1.UIButton+ImageTitleSpace.h #import <UIKit/UIKit.h> // 定义一个枚举(包含了四种类型 ...

  5. UIButton左边图片右边文字的做法

    UIImage *yuyinImage = [UIImage imageNamed:@"yuyin.png"]; [soundButton setImage:yuyinImage ...

  6. UIButton上同时显示图片和文字的方法

    copy from CPLASF_lixj  http://blog.csdn.net/qijianli/article/details/8152726 项目中经常会遇到Button上同时显示图片和文 ...

  7. iOS - UIButton设置图片文字上图下文排列

    经查阅资料及尝试,最终解决了在图片和文字垂直排列的情况下,如果文字长度变化会导致图片位置变动的问题,最开始采用了网上比较多的做法,做法如下: @interface UIButton (UIButton ...

  8. Qt中在图片上叠加显示文字

    Qt中在图片上叠加显示文字   QCustLabel::QCustLabel(QWidget *parent):QLabel(parent){ setPixmap(QPixmap(QString::f ...

  9. UIButton上使用UIEdgeInsetsMake让title跟图片对齐

    UIButton上使用UIEdgeInsetsMake让title跟图片对齐 默认情况下,不设置的效果,都使居中现实,button为150*150 使用以下设置后:   [self setTitleE ...

随机推荐

  1. js 获取节点

    var chils= s.childNodes; //得到s的全部子节点 var par=s.parentNode; //得到s的父节点 var ns=s.nextSbiling; //获得s的下一个 ...

  2. Ubuntu 下对ADT 添加别名(alias)

    1:~$ vim .bashrc 2:在打开的.bashrc文件中加入: alias adt='./adt-bundle-linux-x86-20130729/eclipse/eclipse' 3:保 ...

  3. SQL basic

    Function 从例子学习 drop function dbo.getWorkingDateCount; --getWorkingDateCount = functionName CREATE FU ...

  4. Kill Process by Name

    Kill Process by Name(works in: Microsoft Windows 95/98/ME/NT/2000/XP)It is sometimes necessary to te ...

  5. OpenRTSP的使用

    由于需要研究OpenRTSP的源码,所以先学习下使用. -d [time]--------这个是录制时间,就是单位秒,超时后,程序自动结束. -i   -----------以.avi文件格式生成. ...

  6. 【疑难杂症】xmind启动后,自动退出的问题

    xmind安装一段时间后,就会出现一启动,就自动退出的情况.卸载重装也无法解决,在试过网上的各种方法后,发现这个方法最凑效. 打开xmind.ini(安装目录下),删除以下几行,保存配置文件,重启即可 ...

  7. cf509E Pretty Song

    E. Pretty Song time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  8. URAL 2034 : Caravans

    Description   Student Ilya often skips his classes at the university. His friends criticize him for ...

  9. github atom创建自己的语法高亮

    使用atom一段时间了,有些插件还不是很成熟.比如项目中使用protobuf,早就有人写了语法高亮(https://github.com/podgib/atom-protobuf),但是效果不是很好. ...

  10. Angular基础教程:表达式日期格式化[转]

    本地化日期格式化: ({{ today | date:'medium' }})Nov 24, 2015 2:19:24 PM ({{ today | date:'short' }})11/24/15 ...