UIButton中的**EdgeInsets是做什么用的?

UIButton中的**EdgeInsets是做什么用的?

UIEdgeInsetsMake

Creates an edge inset for a button or view.
An inset is a margin
around the drawing rectangle where each side (left, right, top, and
bottom) can have a different value.

给一个button或者view创建一个嵌入的边缘.

inset是一个矩形view页边空白,每一边都可以设定一个不同的值.

图片素材: [email protected]

- (void)viewDidLoad
{
[super viewDidLoad];

UIButton *normalButton = nil;
UIButton *edgeButton = nil;

// normalButton
{
// 初始化按钮
normalButton = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
normalButton.backgroundColor = [UIColor blackColor];

// 按钮图片
[normalButton setImage:[UIImage imageNamed:@"1"] forState:UIControlStateNormal];
}

// EdgeButton
{
// 初始化按钮
edgeButton = [[UIButton alloc] initWithFrame:CGRectMake(100, 210, 100, 100)];
edgeButton.backgroundColor = [UIColor blackColor];

// 按钮图片
[edgeButton setImage:[UIImage imageNamed:@"1"] forState:UIControlStateNormal];

// 设置图片间距
edgeButton.imageEdgeInsets = UIEdgeInsetsMake(10, 10, 10, 10);
}

[self.view addSubview:normalButton];
[self.view addSubview:edgeButton];
}

viewDidLoad

以下是模拟器显示结果:

从结果中可以看到,设置了图片的imageEdgeInsets后,图片显示被缩放了哦.

再来测试文本的titleEdgeInsets

- (void)viewDidLoad
{
[super viewDidLoad];

UIButton *normalButton = nil;
UIButton *edgeButton = nil;

// normalButton
{
// 初始化按钮
normalButton = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
normalButton.backgroundColor = [UIColor blackColor];

[normalButton setTitle:@"Y.X." forState:UIControlStateNormal];
[normalButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
}

// EdgeButton
{
// 初始化按钮
edgeButton = [[UIButton alloc] initWithFrame:CGRectMake(100, 210, 100, 100)];
edgeButton.backgroundColor = [UIColor blackColor];

[edgeButton setTitle:@"Y.X." forState:UIControlStateNormal];
[edgeButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal];

edgeButton.titleEdgeInsets = UIEdgeInsetsMake(60, 60, 0, 0);
}

[self.view addSubview:normalButton];
[self.view addSubview:edgeButton];
}

viewDidLoad

以下是运行结果:

文本并没有缩放的说,再试试这么设置:

UIButton还有一个属性叫contentEdgeInsets.

Use this property to resize and reposition the effective drawing
rectangle for the button content. The content comprises the button
image and button
title.

实际上,这个contentEdgeInsets是用来同时设置imageEdgeInsets与titleEdgeInsets的,没什么特别的,就不举例子了:)

UIButton中的**EdgeInsets是做什么用的?,布布扣,bubuko.com

时间: 2024-10-14 12:15:12

UIButton中的**EdgeInsets是做什么用的?的相关文章

解决:"不再sudoers文件中,此事将不做被报告”的问题

使用sudo出现问题:不再sudoers文件中,此事将不做被报告 系统:win8.1 +cents 7 问题:在虚拟机中,默认不是root账号,在使用sudo命令时候收到下面警告: sudo命令含义:使用sudo命令的账号,拥有root账号的权限来执行某些命令或者程序,但不是所有的帐号都可以使用sudo命令,我们要做的就是切换到root账号,用root身份来修改和管理文件,這个文件是 /etc/sudoers. 执行命令: 找到到如下行,用vim编辑此文档添加自己的账号,你本linux的用户名,

Scala深入浅出实战经典《第87讲:Scala中使用For表达式做查询》笔记

如知其非义,斯速已矣! 第87讲:Scala中使用For表达式做查询 Goal: For表达式做查询 Gains: for循环的应用 自定义一种类型,根据这种类型创建了一个List数组 针对数组中的内容,利用for循环可以进行相关的查询 More: 使用for循环来做查询~ ------------------------------------------------------------------------------------ 信息来源于 DT大数据梦工厂微信公众账号:DT_Spa

Scala中使用For表达式做查询

学习了Scala中使用For表达式做查询,很多编程中对数据库.文件.网络数据进行查询,应用for表达循环匹配,例子如下: Case calss Book (title:String, authors:List[tring]) Object For_Query { Def main(args:Array[String]) { Val books : List[Book]=List( Book(“Structure and Interpretation”, List(“Abelson,Harold”

又帮中山水牛城朋友做义务劳工了

又帮中山水牛城朋友做义务劳工了,“被逼”的给妹纸做劳工,帮她拍摄中山水牛城中南服饰的外墙,说什么我的红米note手机够清晰,说她的iphone4s拍照太垃圾了,汗,我心想,你是不是倒转了说法呢,我靠,当然这个不能说出来的,说公司的业务需要,看来要想法子叫她给“加班费”才行. 始终对比与对面的四季青服装城,有点感觉中山水牛城有点抵挡呢.

UIButton中的三个UIEdgeInsets属性

接着昨天的 UIButton中的三个UIEdgeInsets属性 ,今天我们具体谈谈UIButton的contentEdgeInsets.titleEdgeInsets.imageEdgeInsets属性. 创建UIButton UIButton *button = [[UIButton alloc] init];button.frame = CGRectMake(50, 200, 200, 50);[button setTitle:@"我是UIButton" forState:UIC

锐浪 报表, 交叉报表中 对交叉字段,做条件改变背景颜色 .

var fieldCount = Report.RunningDetailGrid.ColumnContent.ContentCells.Count; // 总字段列数 var lockFieldCount = Report.DetailGrid.CrossTab.ListCols; // 锁定字段列数 var crossFieldCount = fieldCount - lockFieldCount; for(var colIndex = 1; colIndex <=crossFieldCou

格而知之1:UIButton中imageView和titleLabel的位置调整

在使用UIButton时,有时候需要调整按钮内部的imageView和titleLabel的位置和尺寸.在默认情况下,按钮内部的imageView和titleLabel的显示效果是图片在左文字在右,然后两者紧挨在一起构成组合居中显示.如下图: 我们可以使用setImageEdgeInsets:和setTitleEdgeInsets:方法来调整两者的位置.在使用这两个方法之前,我们首先要将imageView和titleLabel定位在UIButton的左上角位置,方便参照坐标调节位置.使用以下语句

C#中如何防止Excel做科学计算法转换

C#中如何防止Excel做科学计算法转换  string style = @"<style>.text{mso-number-format:\@;}</style>";//注意这是样式,不需要修改可直接使用 Response.Clear();            Response.Buffer = true; Response.Charset = "utf-8";            Response.AppendHeader("

PMO在组织中实现价值应做的工作

PMO在组织中实现价值应做的工作 研发人员及项目经理常常对PMO有反感情绪,认为其不熟悉业务流程与技术.经常要求项目经理和研发人员提交形式化的材料,只审批和监控,不能为项目提供良好的服务.在很多企业,公司领导层认为PMO人员做事务性工作,只是消耗成本的管理部门,不能创造效益.一方面与研发人员观念有关,同时很重要的是PMO人员没有树立良好的服务意识,提供自己的产品,实现PMO的价值.笔者认为,PMO如果树立在管理中树立服务意识,明确自己提供的产品与服务,通过建立组织级项目管理体系,可为企业的发展创