UIImageView xib里面拉伸图片

目标

通过实例和图片理解UIView的contentStretch属性

方法

  • 通过一个图片建立一个简单的UIImageView
  • 设置它的contentStretch属性
  • 修改它的frame属性
  • 观察

测试用的图片:

新建一个 UIImageView:

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"grid.png"]];

保存它的一些属性值备用

CGSize imageSize;
imageSize.width = imageView.frame.size.width;
imageSize.height = imageView.frame.size.height;

CGSize stretchSize;
stretchSize.width = 50.0;
stretchSize.height = 100.0;

水平拉伸

设置 contentStretch 属性(一般为 0.0 到 1.0之间):

imageView.contentStretch = CGRectMake(0.0, 0.0, stretchSize.width/imageSize.width, stretchSize.height/imageSize.height);

水平拉伸:

imageView.frame = CGRectMake(10.0, 10.0, imageSize.width*1.2, imageSize.height); 

这时拉伸的区域如下:

垂直拉伸

使用同样的 contentStretch, 图片被垂直拉伸:

imageView.frame = CGRectMake(0.0, 0.0, imageSize.width, imageSize.height*1.2);

这时拉伸的区域如下:

两个方向同时拉伸:

使用下面的 contentStretch值:

imageView.contentStretch = CGRectMake(100.0/imageSize.width, 100.0/imageSize.height, stretchSize.width/imageSize.width, stretchSize.height/imageSize.height);

水平和垂直同时拉伸:

imageView.frame = CGRectMake(0.0, 0.0, 450.0, 450.0);

实际拉伸的区域是:

不要泄露内存:

[imageView release];

结论

对于给定的 contentStretch:

有一个“拉伸”区域:

和一个“固定”区域:

时间: 2024-12-06 12:58:46

UIImageView xib里面拉伸图片的相关文章

拉伸图片的几种方式

问题:当图片比较小,而图片框.或者按钮,比较大,图片填充整个按钮会导致变形,通过拉伸图片可以使得虽然拉伸而不变形. 拉伸处理后: 方式1.通过resizableImageWithCapInsets:resizingMode方法. - (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode NS_AVAILABLE_IOS(6_0);

android 拉伸图片

Android拉伸图片用的是9.png格式的图片,这种图片可以指定图片的那一部分拉伸,那一部分显示内容,美工给的小图片也能有很好的显示效果. 原背景图片 可以看到原背景图片很小,即使在再长的文字,背景图片的圆角也不会拉伸 制作###.9.png 打开Android 的sdk>tools>draw9patch.bat,将图片拖进去开始制作###.9.png 点击四周即可添加黑点,拖拉黑点可成线.图片四周的黑线和黑点都有不同的意思. 上面黑线或者点表示纵向可拉伸的区域 一般一个点即可 左边黑线或者

IOS拉伸图片

//头文件 #import <UIKit/UIKit.h> @interface UIImage (Extension) //传入图片的name.然后返回一个拉伸后的图片(新图片) +(UIImage *)resizableImage:(NSString *)name; @end //实现 #import "UIImage+Extension.h" @implementation UIImage (Extension) //用来拉伸图片,图片四周样式不变 +(UIImage

iOS中拉伸图片的几种方式

假如下面的一张图片,是用来做按钮的背景图片的,原始尺寸是(128 * 112) 按钮背景图片.png 我们通过代码将这张图片设置为按钮的背景图片,假如我们将创建好的按钮的宽高设置为:(W=200, H=50)代码如下: // // ViewController.m // iOS图片拉伸总结 // // Created by Sunshine on 15/6/29. // Copyright (c) 2015年 YotrolZ. All rights reserved. // #import "V

[Android]使用draw9patch制作可拉伸图片

在项目开发时,为了使app的大小变成尽量的小,因此,美工在切图的时候,一般都会将可以拉伸的图片都制作成很小,因此,我们Android端开发人员要学会使用draw9patch制作可拉伸图片.例如: 这么小的图片: 制作成这么大的,但是又不能变形: 好了,不废话了,下面开始讲步骤: (1)所需工具:draw9patch(路径:G:\eclipse\adt-bundle-windows-x86_64-20140702\sdk\tools)重点是变红的字体,也就是sdk下的tools/draw9patc

高仿墨迹天气下拉拉伸图片

简介 最近比较闲,就多学习了下,关键是不看点东西,就犯困啊.墨迹天气这个应用有不少地方需要学习的,这篇文章呢, 说一下他的"我"Tab页下拉拉伸图片展示效果,如果留意的话, 像QQ的好友动态也有差不多的效果. 代码分析 代码比较简单了,就重写了一个ScrollView类,先说说他的原理吧,我是先根据id拿到这个ImageView,然后获得他的TopMargin也就是遮掩后的偏移值,在触摸的时候,对ImageView的TopMargin进行改变产生效果,松手的时候搞个属性动画让他还原到以

4.戴帽子,拉伸图片的API(见效果图)

UIImage *img=[UIImage imageNamed:@"bubbleSelf.png"]; img=[img stretchableImageWithLeftCapWidth:15 topCapHeight:12]; UIImageView *imgView=[[UIImageView alloc]initWithImage:img]; [imgView setFrame:CGRectMake(10, 10, 200, 200)]; [self. view addSubv

将代码在有xib得情况下设置到最底层(即执行顺序不是先执行xib) 将图片毛玻璃状态

在xib拖拽控件的界面给view添加背景 UIImageView *imageView = [[UIImageView alloc]initWithFrame:self.view.bounds]; imageView.image = [UIImage imageNamed:@"51670.jpg"]; [self.view insertSubview:imageView atIndex:0];(这句代码就是将图片放到最底层) 将背景模糊(毛玻璃状态) UIToolbar *toolBa

IOS 拉伸图片(封装)

/** * 根据图片名返回一张能够自由拉伸的图片 */ +(UIImage *)resizedImage:(NSString *)name { UIImage *image=[UIImage imageWithName:name]; return [image stretchableImageWithLeftCapWidth:image.size.width*0.5 topCapHeight:image.size.height*0.5]; }