博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用 resizableImageWithCapInsets 方法实现可伸缩图片
阅读量:5054 次
发布时间:2019-06-12

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

之前介绍过通过 stretchableImageWithLeftCapWidth:topCapHeight: 方法来实现可伸缩图片;

可看这篇随笔:

 

iOS5 中提供了一个新的 UIImage 对象实例方法:resizableImageWithCapInsets:,可以将图片转换为以某一偏移值为偏移的可伸缩图片(偏移值内的图片内容将不被拉伸或压缩)。

stretchableImageWithLeftCapWidth:topCapHeight: 模式(此方法已经过期,推荐用下面的resizableImageWithCapInsets: 方法);

resizableImageWithCapInsets: 模式还能实现类似图片渐变的效果,更灵活控制。

 

效果如下:

ViewController.h

1 #import 
2 3 @interface ViewController : UIViewController4 @end

ViewController.m

1 #import "ViewController.h" 2  3 @interface ViewController () 4 - (void)layoutUI; 5 @end 6  7 @implementation ViewController 8 #define kWidthOfButton 160.0 9 #define kHeightOfButton 49.010 11 - (void)viewDidLoad {12     [super viewDidLoad];13     14     [self layoutUI];15 }16 17 - (void)didReceiveMemoryWarning {18     [super didReceiveMemoryWarning];19     // Dispose of any resources that can be recreated.20 }21 22 - (void)layoutUI {23     //普通模式24     UIImage *img = [UIImage imageNamed:@"blueButton"]; //size: 39*3925     UIButton *btnNormal = [[UIButton alloc] initWithFrame:CGRectMake(20.0, 40.0, kWidthOfButton, kHeightOfButton)];26     [btnNormal setTitle:@"btnNormal" forState:UIControlStateNormal];27     [btnNormal setBackgroundImage:img forState:UIControlStateNormal];28     [self.view addSubview:btnNormal];29     30     //stretchableImageWithLeftCapWidth:topCapHeight:模式(此方法已经过期,推荐用下面的resizableImageWithCapInsets:方法)31     UIImage *imgStretchable = [img stretchableImageWithLeftCapWidth:16.0 topCapHeight:16.0];32     UIButton *btnStretchable = [[UIButton alloc] initWithFrame:CGRectMake(20.0, 50.0+kHeightOfButton, kWidthOfButton, kHeightOfButton)];33     [btnStretchable setTitle:@"btnStretchable" forState:UIControlStateNormal];34     [btnStretchable setBackgroundImage:imgStretchable forState:UIControlStateNormal];35     [self.view addSubview:btnStretchable];36     37     //resizableImageWithCapInsets:模式;相比stretchableImageWithLeftCapWidth:topCapHeight:模式来说,resizableImageWithCapInsets:模式还能实现类似图片渐变的效果,更灵活控制38     UIImage *imgResizable = [img resizableImageWithCapInsets:UIEdgeInsetsMake(30.0, 16.0, 9.0, 16.0)];39     UIButton *btnResizable = [[UIButton alloc] initWithFrame:CGRectMake(20.0, 60.0+(kHeightOfButton*2), kWidthOfButton, kHeightOfButton)];40     [btnResizable setTitle:@"btnResizable" forState:UIControlStateNormal];41     [btnResizable setBackgroundImage:imgResizable forState:UIControlStateNormal];42     [self.view addSubview:btnResizable];43 }44 45 @end

 

转载于:https://www.cnblogs.com/huangjianwu/p/4590790.html

你可能感兴趣的文章
hdu 1010 Tempter of the Bone 奇偶剪枝
查看>>
WinForm/Silverlight多线程编程中如何更新UI控件的值
查看>>
ListView 加载数据时 触摸报错
查看>>
【Codeforces Round #430 (Div. 2) A C D三个题】
查看>>
LightOJ 1013 - Love Calculator LCS
查看>>
秒杀 ILSpy 等反编译利器 DotNet Resolver
查看>>
Linux常用命令学习随笔
查看>>
VCSA服务重启命令
查看>>
傅里叶变换
查看>>
爬虫-request以及beautisoup模块笔记
查看>>
jQuery遍历
查看>>
SharePoint2010文档归档策略(2)-从放置库转移到自己定义的文档库
查看>>
小白_Unity引擎_添加Tag和比较Tag
查看>>
c语言基本常识1(知识点)
查看>>
20145315《网络对抗》——免考项目:逆向脱壳
查看>>
不做都市“悲催族”,像“洗碗哥”一样奋斗
查看>>
( 转载)改变人类历史的17大数学方程
查看>>
EF Code First 和 ASP.NET MVC3 工具更新
查看>>
python基础面试
查看>>
C语言学习及应用笔记之二:C语言static关键字及其使用
查看>>