博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Iphone通过viewDidLoad设置拉伸图像与按钮样式
阅读量:7276 次
发布时间:2019-06-29

本文共 2347 字,大约阅读时间需要 7 分钟。

- (void)viewDidLoad { UIImage *buttonImageNormal = [UIImage imageNamed:@"whiteButton.png"]; UIImage *stretchableButtonImageNormal = [buttonImageNormal stretchableImageWithLeftCapWidth:12 topCapHeight:0];\\设置帽端为12px,也是就左边的12个像素不参与拉伸,有助于圆角图片美观 [doSomethingButton setBackgroundImage:stretchableButtonImageNormal forState:UIControlStateNormal]; UIImage *buttonImagePressed = [UIImage imageNamed:@"blueButton.png"]; UIImage *stretchableButtonImagePressed = [buttonImagePressed stretchableImageWithLeftCapWidth:12 topCapHeight:0]; [doSomethingButton setBackgroundImage:stretchableButtonImagePressed forState:UIControlStateHighlighted]; } 放到对应View类(.m文件)里,引入对应的png图片. 1、- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是不拉伸区域和左边框的宽度,第二个参数是不拉伸区域和上边框的宽度。 第一次用这个函数的时候一直搞不懂为什么只要两个参数就行,至少应该指定左上角和右下角,总共四个参数啊。后来读读文档才明白,只需要两个参数就行了。 参数的意义是,如果参数指定10,5。那么,图片左边10个像素,上边5个像素。不会被拉伸,x坐标为11和一个像素会被横向复制,y坐标为6的一个像素会被纵向复制。注意:只是对一个像素进行复制到一定宽度。 附:两个聊天用的汽泡,与参数值。 stretchableImageWithLeftCapWidth:topCapHeight:函数用法 总结 - 云水禅心 - 云水禅心 15,13 stretchableImageWithLeftCapWidth:topCapHeight:函数用法 总结 - 云水禅心 - 云水禅心 21,13 2、- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是不拉伸区域和左边框的宽度,第二个参数是不拉伸区域和上边框的宽度。 如下图:(原图) stretchableImageWithLeftCapWidth:topCapHeight:函数用法 总结 - 云水禅心 - 云水禅心 调整后的图: stretchableImageWithLeftCapWidth:topCapHeight:函数用法 总结 - 云水禅心 - 云水禅心 代码: float capWidth = 100.0f; float topCapWidth = 100.0f; baseGreen = [[[UIImage imageNamed:@"green.png"]stretchableImageWithLeftCapWidth:capWidth topCapHeight:topCapWidth] retain]; 3、 stretchableImageWithLeftCapWidth:topCapHeight:创建并返回一个具有指定的值上限的新形象的对象。 - (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 参数 leftCapWidth 要使用的值上限为左侧的宽度。指定0如果你不希望的形象是横向拉伸。有关讨论如何值会影响形象,看到leftCapWidth财产。 topCapHeight 要使用的值为顶盖的宽度。指定0如果你不希望的形象是垂直拉伸。有关讨论如何值会影响形象,看到topCapHeight财产。 返回值 具有指定值上限的新形象的对象。 讨论 在缩放或图像大小,所涵盖的范畴的上限是不进行缩放或调整大小。相反,1像素宽的面积在每个方向上帽盖正是缩放或调整大小。这种技术通常用于创建可变宽度按钮,保有相同的圆角,但其中心区域的放大或缩小的需要。 使用此方法来添加值上限的图像或改变图像的现有上限的值。在这两种情况下,你获得了一新的图像和原始图像仍然无动于衷。 说白了就是对一个图像做处理,只将中间需要放大的部分进行缩放,而四个角不做拉伸,四个边只做单方向上的拉伸。

转载于:https://www.cnblogs.com/QQ765286788/p/4766383.html

你可能感兴趣的文章
2020年后光伏年均新增规模可达到250GW左右
查看>>
pxe无人值守安装linux机器笔记
查看>>
wpa_supplicant 与iwpriv工具配置WIFI的命令
查看>>
struct ifconf和struct ifreq,获取网线插入状态
查看>>
UWP开发随笔——UWP新控件!AutoSuggestBox!
查看>>
SharePoint 2013 PowerShell命令备份还原报错
查看>>
SharePoint 2013 搜索功能,列表项目不能完全被索引
查看>>
程序员写代码时的各种内心戏 ……
查看>>
用 Flask 来写个轻博客 (15) — M(V)C_实现博文页面评论表单
查看>>
为什么事务没有回滚!
查看>>
JAVA 入坑教程 | 对象和类
查看>>
企业网站面临的攻击汇总以及应对方法
查看>>
掌握数据科学应该学习哪些语言?
查看>>
Python3.6新特性
查看>>
[lcm] Qualcomm平台兼容多显示屏lcd的方法&并从lk传输到kernel过程
查看>>
TensorFlow Agents日前开源,轻松在TF中构建并行强化学习算法
查看>>
高德地图联合合作伙伴,为用户十一送大礼
查看>>
黑客演示用笔记本电脑入侵汽车控制系统
查看>>
《数字视频和高清:算法和接口》一1.1幅型比概念
查看>>
P2P行业不必对“资金池”闻之色变
查看>>