iOS开发——UI基础-按钮内边距,图片拉伸
一、内边距
UIButton有三个属性,分别可以设置按钮以及内部子控件的内边距
1、contentEdgeInsets
如果是设置contentEdgeInsets, 会把UIImageView和UIlabel当做一个整体移动
btn.contentEdgeInsets = UIEdgeInsetsMake(, , , );
对应状态:
2、titleEdgeInsets/imageEdgeInsets
如果是设置titleEdgeInsets/imageEdgeInsets. 那么不会影响到另外一个, 也就是只会改变当前设置的这个控件
btn.titleEdgeInsets = UIEdgeInsetsMake(, , , ); btn.imageEdgeInsets = UIEdgeInsetsMake(30 ,0 , , );
二、图片拉伸
1.iOS5以前
UIButton *btn = [[UIButton alloc] init]; UIImage *image = [UIImage imageNamed:@"common_button_blue_highlighted"]; // LeftCapWidth: 左边多少不能拉伸 // 右边多少不能拉伸 = 控件的宽度 - 左边多少不能拉伸 - 1 // right = width - leftCapWidth - 1 // 1 = width - leftCapWidth - right // topCapHeight: 顶部多少不能拉伸 // 底部有多少不能拉伸 = 控件的高度 - 顶部多少不能拉伸 - 1 // bottom = height - topCapWidth - 1 // 1 = height - topCapWidth - bottom UIImage *newImage = [image stretchableImageWithLeftCapWidth: topCapHeight:];
2.iOS5开始
// UIEdgeInsets是告诉系统哪些地方需要受保护, 也就是不可以拉伸 // resizableImageWithCapInsets默认拉伸方式是平铺 UIEdgeInsets insets = UIEdgeInsetsMake(image.size.height * 0.5, image.size.width * 0.5, image.size.height * 0.5, image.size.width * 0.5); UIImage *newImage = [image resizableImageWithCapInsets:insets];
3.iOS6开始
// resizingMode指定拉伸模式 // 平铺 // 拉伸 UIEdgeInsets insets = UIEdgeInsetsMake(, , , ); UIImage *newImage = [image resizableImageWithCapInsets:insets resizingMode:UIImageResizingModeStretch]; [btn setBackgroundImage:newImage forState:UIControlStateNormal]; btn.frame = CGRectMake(, , , ); [self.view addSubview:btn];
iOS开发——UI基础-按钮内边距,图片拉伸的更多相关文章
- iOS开发——UI基础-按钮的创建和设置
@interface ViewController () - (IBAction)customBtnClick; @end @implementation ViewController - (void ...
- iOS开发UI基础—手写控件,frame,center和bounds属性
iOS开发UI基础—手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...
- iOS开发UI篇—Quartz2D使用(图片剪切)
iOS开发UI篇—Quartz2D使用(图片剪切) 一.使用Quartz2D完成图片剪切 1.把图片显示在自定义的view中 先把图片绘制到view上.按照原始大小,把图片绘制到一个点上. 代码: - ...
- IOS开发UI基础--数据刷新
IOS开发UI基础--数据刷新 cell的数据刷新包括下面几个方面 加入数据 删除数据 更改数据 全局刷新方法(最经常使用) [self.tableView reloadData]; // 屏幕上的全 ...
- iOS开发——UI基础-UIButton、UIImageView、UILabel的选择
1.UILabel - UILabel的常见属性 @property(nonatomic,copy) NSString *text; 显示的文字 @property(nonatomic,retain) ...
- IOS开发UI基础之UIButton
什么是按钮?
- iOS开发-UI基础Demo
现在更多的学习资料都是xCode4.X的,发现xCode6.1还是很多东西,如果有正在学习iOS开发的可以通过Demo简单了解下iOS的UI开发~ 1.新建单视图文件: 2.新建项目名称,语言选择OC ...
- IOS开发UI基础UITableView的属性
UITableView UITableView内置了两种样式:UITableViewStylePlain,UITableViewStyleGrouped <UITableViewDataSour ...
- iOS开发——UI基础-控制器,IBAction和IBOutlet,UIView
第一个ios程序 @interface ViewController : UIViewController @property(nonatomic, weak)IBOutlet UILabel *la ...
随机推荐
- java编程思想-java集合总结-基本概念
1.java 容器类类库的用途是"保存对象",并将其划分为两个不同的概念: 1)Collection.一个独立元素的序列,这些元素都服从一条或多条规则.List 必须按照插入的顺序 ...
- Windows系统自带工具的 cmd 命令
目标 与计算机高手无关,只是为了减少鼠标点击的次数,提高效率. 适用范围 Windows XP,Windows 7,Window 8 (在Windows 7 下验证通过.) 使用方法 在 “运行“ 对 ...
- JQuery------动态添加的元素on方法不起作用解决方法
转载: http://www.jb51.net/article/70342.htm
- re正则表达式5_*
*表示匹配[0,正无穷大]次 * means math zero or more-----occur any number of times in the text. # -*- coding: ut ...
- Java数据库——连接关闭、增删改查
连接数据库 //================================================= // File Name : MySQL_demo //-------------- ...
- Hadoop FS shell commands
命令格式:hadoop fs -command -option args appendToFileUsage: hadoop fs -appendToFile <localsrc> ... ...
- Shared Library Search Paths
在使用CodeLite编译动态库的时候,可以通过在Linker > Linker Options中添加: -install_name @executable_path/libXXX.so 的方式 ...
- (转)JS Date格式化为yyyy-MM-dd类字符串
Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1, //month &quo ...
- ssh-keygen不是内部或外部命令
在**/Git/usr/bin目录下找到ssh-keygen.exe,将**/Git/usr/bin路径添加到环境变量中
- 关于http请求
response的Head值: 200 : 请求已成功,请求所希望的响应头或数据体将随此响应返回 304 : Not Modified 客户端有缓冲的文档并发出了一个条件性的请求,原来缓冲的文档还 ...