#UIButton#背景图片的拉伸
- 如果不采用相应技术对button的背景图片进行拉伸,则显示的效果就会失真,效果:
文章图片
Snip20160823_7.png
- iOS中有三种方法对图片进行拉伸
// 方法一:
- (void)viewDidLoad {
[super viewDidLoad];
// 0.创建一张图片
UIImage *image = [UIImage imageNamed:@"chat_send_nor"];
// 1.获取图片尺寸
CGFloat width = image.size.width;
CGFloat height = image.size.height;
// 2.拉伸图片
UIImage *resizableImage = [image resizableImageWithCapInsets:UIEdgeInsetsMake(height * 0.5, width * 0.5, height * 0.5 - 1, width * 0.5 - 1)];
// 3.把拉伸过的图片设置为button的背景图片
[self.buttonView setBackgroundImage:resizableImage forState:UIControlStateNormal];
}
// 方法二
- (void)viewDidLoad {
[super viewDidLoad];
// 0.创建一张图片
UIImage *image = [UIImage imageNamed:@"chat_send_nor"];
// 1.获取图片尺寸
CGFloat width = image.size.width;
CGFloat height = image.size.height;
// 2.拉伸图片
UIImage *resizableImage = [image stretchableImageWithLeftCapWidth:width * 0.5 topCapHeight:height * 0.5];
// 3.把拉伸过的图片设置为button的背景图片
[self.buttonView setBackgroundImage:resizableImage forState:UIControlStateNormal];
}
- 方法三
- 【#UIButton#背景图片的拉伸】在storyboard中进行设置
文章图片
Snip20160823_8.png
- 【#UIButton#背景图片的拉伸】在storyboard中进行设置
文章图片
Snip20160823_9.png
文章图片
Snip20160823_12.png
- 注意:由于storyboard的图片拉伸往往不能处理一些特殊形状的图片,所以还需要用上面两种代码拉伸图片的方法
- 由于经常需要用到代码拉伸图片的功能,所以我们可以写一个分类,可以方便以后直接使用
- 构造一个类方法
文章图片
Snip20160823_13.png
#import "UIImage+LHLExtension.h"@implementation UIImage (LHLExtension)+ (instancetype)stretchableImageWithLocalName:(NSString *)imageName{
// 0.创建一张图片
UIImage *image = [UIImage imageNamed:imageName];
// 1.获取图片尺寸
CGFloat width = image.size.width;
CGFloat height = image.size.height;
// 2.拉伸图片
UIImage *resizableImage = [image stretchableImageWithLeftCapWidth:width * 0.5 topCapHeight:height * 0.5];
return resizableImage;
}
@end
- 然后在viewDidLoad中用分类中的方法
UIImage *image = [UIImage stretchableImageWithLocalName:@"chat_send_nor"];
[self.buttonView setBackgroundImage:image forState:UIControlStateNormal];
}
- 以上三种方式处理后的图片效果如下:
文章图片
Snip20160823_14.png
推荐阅读
- 笔记|[转]基于POI的功能区划分()
- Linux基础|基于NoneBot2的qq机器人配置记录
- matlab实践|遗传算法(一) 遗传算法的基本原理
- 双十一的前奏
- 关于沟通的一点想法
- 不阶尺土,南朝第一英雄,义熙北伐,力克胡人重骑兵的天才
- 一个人的梦想大不过他的所见所闻|一个人的梦想大不过他的所见所闻 |007百日复盘
- 算法|C语言RGB转Lab色域
- 飞鱼乐悠悠(42)幽默的小小恶霸金钱豹
- 逃跑的木偶