iOS UIButton EdgeInsets
说一下系统的button,image 和 title的位置关系
默认image 和 title的位置关系:

随便画了草图,有点丑,不过不妨碍理解:
第一种:在button上只设置文字,这个时候,button的文字默认是剧中的。
第二种:在button上只设置图片,也是默认剧中的。
第三种:主要说的是这种,当同时设置图片和文字时,默认图片是剧中的,文字就会被排挤到button的右侧。
这个时候,如果我们想要改变文字和button的位置,就要使用EdgeInsets
EdgeInsets
UIEdgeInsets UIEdgeInsetsMake ( |
|
| Description |
Creat |
|---|
先解释下:第一个参数 是离上边距的距离,同理,左,下,右。
一般设置的时候,只设置两种就可以了。
UIButton *btn = [[UIButton alloc]init];
[btn setFrame:CGRectMake(_bt_startChooseTime.frame.origin.x, offset_y, self.frame.size.width-_bt_startChooseTime.frame.origin.x*, ZXL_STATIC_RATIO())];
[btn setImage:[UserDefault imageWithColor:[UIColor redColor] size:CGSizeMake(btn.frame.size.width, ZXL_STATIC_RATIO())] forState:UIControlStateNormal];
[btn setBackgroundColor:[UIColor yellowColor]];
[btn setTitle:@"设为默认" forState:UIControlStateNormal];
//距离:负数就是往该方向靠近,正数就是往该方向远离
[btn setTitleEdgeInsets:UIEdgeInsetsMake(,-btn.imageView.bounds.size.width,-ZXL_STATIC_RATIO()-btn.titleLabel.bounds.size.height-, )];
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[btn setTitleColor:[UIColor yellowColor] forState:UIControlStateHighlighted];
[btn.titleLabel setFont:[UIFont systemFontOfSize:ZXL_FONT_SIZE - ]];
效果:

在没有设置setTitleEdgeInsets这个属性的时候,文字是在图片的右侧的。
[btn setTitleEdgeInsets:UIEdgeInsetsMake(0,-btn.imageView.bounds.size.width,-ZXL_STATIC_RATIO(40)-btn.titleLabel.bounds.size.height-10, 0)];
我title设置为 :距离左边距为 负的按钮宽度的时候,titlelabel就会xiang左移动按钮的宽度,这个时候,titlelabel就会移动到左边来.
距离下边距为 图片的高度+titlelabel的高度+10.这样设置,文字就会往下边靠近 ( 图片的高度+titlelabel的高度+10)。
iOS UIButton EdgeInsets的更多相关文章
- IOS UIButton用法详解
这段代码动态的创建了一个UIButton,并且把相关常用的属性都列举了.希望对大家有用. //这里创建一个圆角矩形的按钮UIButton *button1 = [UIButton buttonWi ...
- iOS UIButton 图片文字上下垂直布局 解决方案
实现如图所示效果: 这是一个UIButton,需要改变image和title相对位置. 解决如下: //设置文字偏移:向下偏移图片高度+向左偏移图片宽度 (偏移量是根据[图片]大小来的,这点是关键)b ...
- iOS UIButton文字和图片间距随意调整
代码地址如下:http://www.demodashi.com/demo/11606.html 前记 在开发中,我们经常会遇到这么一种情况,就是一个按钮上面有图片也有文字,但是往往设计并不是我们想要的 ...
- iOS - UIButton
前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIButton : UIControl <NSCoding> @available(iOS 2.0, ...
- iOS - UIButton设置文字标题下划线以及下划线颜色
创建button设置可以折行显示 - (void)viewDidLoad { [super viewDidLoad]; UIButton * button = [[UIButton alloc] in ...
- iOS - UIButton折行文字显示设置
首先在控制器中创建一个button - (void)viewDidLoad { [super viewDidLoad]; UIButton * button = [[UIButton alloc] i ...
- iOS·UIButton如何文字在下图片在上
创建子类继承自UIButton,在layoutSubviews方法中改变文字和图片的位置就可以了,同理,稍作改变,可以写出文字在上图片在下.本文只给出文字在下图片在上的代码 -(void)layout ...
- iOS UIButton单双击处理响应不同的方法
//显示目标 双击显示当前用户坐标位置 UIButton * btnShowDistination = [[UIButton alloc]initWithFrame:CGRectMake(, SCRE ...
- iOS UIButton setTitle与setAttributedTitle
今天遇到一个问题,查了好久,终于解决. 我需要根据不同的条件给uibutton赋不同的值,由于字体要求有不同颜色变化,所以我选择了一个条件下用setTitle,另一个条件下用setAttributed ...
随机推荐
- 【转】linux下a.out >outfile 2>&1重定向问题
原文网址:http://blog.chinaunix.net/uid-25909722-id-2912890.html 转自:http://blog.chinaunix.net/space.php?u ...
- 【转】apue《UNIX环境高级编程第三版》第一章答案详解
原文网址:http://blog.csdn.net/hubbybob1/article/details/40859835 大家好,从这周开始学习apue<UNIX环境高级编程第三版>,在此 ...
- Java应用调优指南之-工具篇
1. 土法调优两大件 先忆苦思甜,一般人在没有Profile工具的时候,调优的两大件,无非Heap Dump 与 Thread Dump. 1.1 Heap Dump jmap -dump:live, ...
- Ecshop ajax 局部刷新购物车功能
1.比如我们category.dwt 里有 <a href='flow.php'><SPAN id='cart_count_all'>{insert name='cart_in ...
- Hadoop序列化
遗留问题: Hadoop序列化可以复用对象,是在哪里复用的? 介绍Hadoop序列化机制 Hadoop序列化机制详解 Hadoop序列化的核心 Hadoop序列化的比较接口 ObjectWrita ...
- <转>Python 参数知识(变量前加星号的意义)
csdn上的牛人就是多,加油 —————————————————————————— 过量的参数 在运行时知道一个函数有什么参数,通常是不可能的.另一个情况是一个函数能操作很多对象.更有甚者,调用自身的 ...
- javascript跑马灯抽奖
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- BestCoder Round #76 解题报告
DZY Loves Partition [思路] 贪心 [代码] #include <iostream> using namespace std; typedef long long ll ...
- 机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)
版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 前言: ...
- Codeforces 364
A 第一题明显统计,注意0和long long(我WA,RE好几次) /* * Problem: A. Matrix * Author: Shun Yao */ #include <string ...