博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS图片拉伸
阅读量:5903 次
发布时间:2019-06-19

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

假如下面的一张图片,是用来做按钮的背景图片的,原始尺寸是76 × 40

我们通过代码将这张图片设置为按钮的背景图片,假如我们将创建好的按钮的宽高设置为:(W=200, H=50)代码如下:

// 初始化按钮    UIButton *button = [[UIButton alloc] init];    // 设置尺寸    button.frame = CGRectMake(100, 200, 200, 50);        // 加载图片    UIImage *image = [UIImage imageNamed:@"ppm_new_shuliang.png"];        // 设置背景图片    [button setBackgroundImage:image forState:UIControlStateNormal];        // 添加按钮      [self.view addSubview:button];

 结果如下:图片被拉伸了。

 

原因分析:是将原是尺寸为76 × 40 的图片拉伸成了W=200, H=50;

解决方案:
1.找美工重做一张较大的图片,这样的话就会出现软件包将来会变大,占用空间更大;如果我们要经常修改按钮的frame,美工设计比较繁琐;
2.苹果为我们提供了关于图片拉伸的API,我们可以直接利用代码实现;

修改后:

// 初始化按钮    UIButton *button = [[UIButton alloc] init];    // 设置尺寸    button.frame = CGRectMake(100, 200, 200, 50);        CGFloat top = 0; // 顶端盖高度    CGFloat bottom = 0 ; // 底端盖高度    CGFloat left = 22; // 左端盖宽度    CGFloat right = 22; // 右端盖宽度    UIEdgeInsets insets = UIEdgeInsetsMake(top, left, bottom, right);            // 加载图片    UIImage *image = [UIImage imageNamed:@"ppm_new_shuliang.png"];        image = [image resizableImageWithCapInsets:insets resizingMode:UIImageResizingModeStretch];        // 设置背景图片    [button setBackgroundImage:image forState:UIControlStateNormal];        // 添加按钮      [self.view addSubview:button];

 

 

 

还有一种设置方法:

 

 

 

转载地址:http://zlkpx.baihongyu.com/

你可能感兴趣的文章
template.helper 多参数
查看>>
Android 四大组件之一(Activity)
查看>>
扫描(一)
查看>>
PIE SDK矢量数据的读取
查看>>
Centos7安装rabbitmq server 3.6.0
查看>>
iostat命令学习
查看>>
SQL 三种分页方式
查看>>
查看linux是ubuntu还是centos
查看>>
html video的url更新,自动清缓存
查看>>
IOS Xib使用——为控制器添加Xib文件
查看>>
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤
查看>>
【11】ajax请求后台接口数据与返回值处理js写法
查看>>
Python菜鸟之路:Jquery Ajax的使用
查看>>
LeetCode算法题-Maximum Depth of Binary Tree
查看>>
Cox 教学视频5
查看>>
Jenkins持续集成学习-搭建jenkins问题汇总
查看>>
使用ffmpeg实现对h264视频解码 -- (实现了一个易于使用的c++封装库)
查看>>
flink watermark介绍
查看>>
[Flink原理介绍第四篇】:Flink的Checkpoint和Savepoint介绍
查看>>
Android Xutils 框架
查看>>