iOS图片拉伸

在实际开发中美工给我们的图片不是那么合适,有时候需要对原图片进行拉伸,但是我们只是想把图片部分拉伸,而不是全部拉伸,造成图片的失真,这时候就需要用到以下苹果给我们提供的方法来实现。

代码实现拉伸处理

创建UIImageView
UIImageView *imageView = [[UIImageView alloc] init];
imageView.frame = CGRectMake(10, 10, 250, 150);
[self.view addSubview:imageView];
UIImage *img = [UIImage imageNamed:@"chat_send_nor"];
  • resizableImageWithCapInsets方法 iOS6以后的方法
/*
 第一个参数是说明需要保护的区域,第二个参数是保护的模式
 UIImageResizingModeTile      平铺
 UIImageResizingModeStretch,  拉伸
 */
img = [img resizableImageWithCapInsets:UIEdgeInsetsMake(30, 30, 30, 30) resizingMode:UIImageResizingModeStretch];
  • stretchableImageWithLeftCapWidth方法
// right = width - left - 1;
// bottom = height - top - 1;
//实质上就拉伸一个像素,因为左边和上边保护完有公式就是1,一般保护都是宽高一半
img = [img stretchableImageWithLeftCapWidth:img.size.width * 0.5 topCapHeight:img.size.height * 0.5];
注意:可拉伸的范围都是距离leftCapWidth后的1竖排像素,和距离topCapHeight后的1横排像素。

图形化界面中实现

图形化界面中的好处是,不使用代码就可以全局的实现图形的拉伸。

iOS图片拉伸_第1张图片
![ ![屏幕快照上午10.12.06.png](http://upload-images.jianshu.io/upload_images/3792777-92323e8a817ab3be.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)](http://upload-images.jianshu.io/upload_images/3792777-fc86481c619686ab.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

你可能感兴趣的:(iOS图片拉伸)