iOS图片填充UIImageView(contentMode)

本文主要形象的介绍一下UIView的contentMode属性:

核心代码

[self.prp_imageView  setContentMode:UIViewContentModeScaleAspectFill];

self.prp_imageView.clipsToBounds = YES;

     

UIViewContentModeScaleAspectFit, //这个图片都会在view里面显示,并且比例不变 这就是说 如果图片和view的比例不一样 就会有留白如下图1

UIViewContentModeScaleAspectFill, // 这是整个view会被图片填满,图片比例不变 ,这样图片显示就会大于view如下图2

既然要求不高 又不能留白 那我就可以用第二种 可是这样就超出位置了,于是同事又开口了 截掉就可以了

然后完整过程就两步

[self.prp_imageView setContentMode:UIViewContentModeScaleAspectFill];

self.prp_imageView.clipsToBounds = YES;

完美解决 以下是效果图

实在是太喜欢他们了就先暂时当我的模特吧

然后 我就把所有的都是试验了一遍,各种区别大家就看图总结吧

UIViewContentModeCenter

UIViewContentModeTop

UIViewContentModeBottom

UIViewContentModeLeft

UIViewContentModeRight

UIViewContentModeTopLeft

UIViewContentModeTopRight

UIViewContentModeBottomLeft

UIViewContentModeBottomRight

其他更详细的属性介绍:

UIView有个UIViewContentMode类型的属性contentMode,可以通过它来修改视图的内容显示模式。

view sourceprint?

01.typedef NS_ENUM(NSInteger, UIViewContentMode) {

02.UIViewContentModeScaleToFill,

03.UIViewContentModeScaleAspectFit, // contents scaled to fit with fixed aspect. remainder is transparent 04.UIViewContentModeScaleAspectFill, // contents scaled to fill with fixed aspect. some portion of content may be clipped. 05.UIViewContentModeRedraw, // redraw on bounds change (calls -setNeedsDisplay)

06.UIViewContentModeCenter, // contents remain same size. positioned adjusted.

07.UIViewContentModeTop,

08.UIViewContentModeBottom,

09.UIViewContentModeLeft,

10.UIViewContentModeRight,

11.UIViewContentModeTopLeft,

12.UIViewContentModeTopRight,

13.UIViewContentModeBottomLeft,

14.UIViewContentModeBottomRight,

15.};

实例代码:

view sourceprint?

1.CGRect rect = self.view.frame;

2.UIImageView *imageView = [[UIImageView alloc] initWithFrame:rect];

3.imageView.contentMode = UIViewContentModeTop;

4.imageView.image = [UIImage imageNamed:@demoImage];

5.[self.view addSubview:imageView];

UIViewContentModeScaleToFill

根据视图的比例去拉伸图片内容。

UIViewContentModeScaleAspectFit

保持图片内容的纵横比例,来适应视图的大小。

UIViewContentModeScaleAspectFill

用图片内容来填充视图的大小,多余得部分可以被修剪掉来填充整个视图边界。

UIViewContentModeRedraw

这个选项是单视图的尺寸位置发生变化的时候通过调用setNeedsDisplay方法来重新显示。

UIViewContentModeCenter

保持图片原比例在视图中间显示图片内容

如果视图大小小于图片的尺寸,则图片会超出视图边界,下面类同

UIViewContentModeTop

保持图片原比例在视图中间顶部显示图片内容

UIViewContentModeBottom

保持图片原比例在视图中间底部显示图片内容

UIViewContentModeLeft

保持图片原比例在视图中间左边显示图片内容

UIViewContentModeRight

保持图片原比例在视图中间右边显示图片内容

UIViewContentModeTopLeft

保持图片原比例在视图左上角显示图片内容

UIViewContentModeTopRight

保持图片原比例在视图右上角显示图片内容

UIViewContentModeBottomLeft

保持图片原比例在视图左下角显示图片内容

UIViewContentModeBottomRight

保持图片原比例在视图右下角显示图片内容

【原文出自:http://www.2cto.com/kf/201507/412894.html 】

时间: 2024-12-16 11:55:35

iOS图片填充UIImageView(contentMode)的相关文章

iOS 图片填充 UIImageView

UIViewContentModeScaleAspectFit,     //这个图片都会在view里面显示,并且比例不变  这就是说 如果图片和view的比例不一样 就会有留白如下图1 UIViewContentModeScaleAspectFill,     //  这是整个view会被图片填满,图片比例不变 ,这样图片显示就会大于view如下图2 既然要求不高 又不能留白 那我就可以用第二种 可是这样就超出位置了,于是同事又开口了 截掉就可以了 然后完整过程就两步 [self.prp_im

iOS 图片视图UIImageView小记

1关于在图片视图上添加按钮后,点击按钮没反应的问题 一般情况下是由于图片视图没有开启用户交互导致的,也有可能是按钮视图被其他视图覆盖了或者超出范围 现在是开启用户交互的代码,你要手动开启,默认是关闭的 yourImageView.userInteractionEnabled = YES

IOS UI多线程 NSThread 下载并显示图片到UIImageView

效果图 @property (weak,nonatomic)IBOutletUILabel *downLabelInfo; @property (weak,nonatomic)IBOutletUIImageView *imageView; @end @implementationViewController - (void)viewDidLoad { [super viewDidLoad]; NSString *url  [email protected]"http://d.hiphotos.b

iOS开发:UIImageView常用操作

UIImageView,顾名思义,是用来放置图片的.使用Interface Builder设计界面时,当然可以直接将控件拖进去并设置相关属性,这就不说了,这里讲的是用代码. 1.创建一个UIImageView: 创建一个UIImageView对象有五种方法: UIImageView *imageView1 = [[UIImageView alloc] init]; UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:(CGRe

iOS 图片背景模糊效果

iOS 图片背景模糊效果 1.使用CoreImage中的模糊滤镜 原始效果图如下: CoreImage的实现: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UIImage * image = [UIImage imageNamed:@"icon"]; /*..CoreImage中的模糊效果滤镜..*/

IOS图片拉伸技巧

IOS 图片拉伸技巧 对于有些图标等按钮 在美工设计的按钮下可以通过拉伸效果处理所需效果,最熟悉的莫过于微信聊天的 椭圆背景,也是通过这个这个原理进行背景图片.  如对该图片拉伸,如何操作? 首先找到要拉伸的部分,很明显 两侧椭圆是不变 要拉伸的是中间部分,如何指定中间部位,先看下图 指定这4个宽度后 会形成黑色模块 直白点就是 这块内容就是拉伸后中间那块不断填充的部分 具体代码: 1 UIImage* img=[UIImage imageNamed:@"2.png"];//原图2 U

ios图片拉伸

 button.png,尺寸为:24x60 现在我们把它用作为按钮背景,按钮尺寸是150x50: // 得到view的尺寸 CGSize viewSize = self.view.bounds.size; // 初始化按钮 UIButton *button = [[UIButton alloc] init]; // 设置尺寸 button.bounds = CGRectMake(0, 0, 150, 50); // 设置位置 button.center = CGPointMake(viewSiz

ios 图片裁剪

/** *  图片裁剪 裁剪原理: 先在控制器上确定一个区域,然后再把要把需要裁剪的图片该区域上面,超出区域的图片都不显示 * *  @param rect */-(void) drawRect:(CGRect)rect{    CGContextRef ref = UIGraphicsGetCurrentContext();        // 首先画圆    CGContextAddEllipseInRect(ref, CGRectMake(100, 100, 100, 100));    

IOS 图片转换二进制 二进制转换为图片

//类方法 图片 转换为二进制 +(NSData *)Image_TransForm_Data:(UIImage *)image { NSData *imageData = UIImageJPEGRepresentation(image , 0.5); //几乎是按0.5图片大小就降到原来的一半 比如这里 24KB 降到11KB return imageData; } //调用方法举例 -(void)viewWillAppear:(BOOL)animated { [self Read_Image