UIImage,UIImageView的使用

1.UIImage



创建UIImage的两种方法

UIImage *image = [UIImage imageNamed:imageNmae];

UIImage *image = [UIImage imageWithContentsOfFile:imageNmae];

- imageNamed这个方法会自动缓存创建的图片
- 如果图片不是经常使用(比如汤姆猫), 并且图片非常占用资源, 那么不建议使用imageNamed方法加载图片

2.UIImageView



- 如果是通过[[UIImageView alloc] init];创建的图片, 没有默认的宽高

- 但是如果是通过[[UIImageView alloc] initWithImage:image];创建的图片, 有默认的宽高
默认的宽高就是图片的宽高

创建一个UIImageView

方法一:

UIImage *image = [UIImage imageNamed:@"meinv.jpg"];

UIImageView *iv = [[UIImageView alloc] initWithImage:image];

方法二:

UIImageView *iv = [[UIImageView alloc] init];

设置相关属性

    iv.backgroundColor = [UIColor redColor];
     UIImage *image = [UIImage imageNamed:@"meinv.jpg"];
    iv.image = image;

修改控件的frame:

iv.frame = CGRectMake(0, 0, image.size.width, image.size.height);

iv.frame = (CGRect){{0, 0}, {image.size.width, image.size.height}};

- OC语法规定, 不能直接修改一个"对象"的"结构体属性"的"成员"

iv.frame.size = image.size;// 错误
先取出 --> 再修改 --> 重新赋值
CGRect tempFrame = iv.frame;
tempFrame.size = image.size;
iv.frame = tempFrame;

3.UIViewContentMode



- 规律一:
但凡取值中包含Scale单词的, 都会对图片进行拉伸(缩放)
但凡取值中没有出现Scale单词的, 都不会对图片进行拉伸
UIViewContentModeScaleToFill,
+ 会按照UIImageView的宽高比来拉伸图片
+ 直到让整个图片都填充UIImageView为止
+ 因为是按照UIImageView的宽高比来拉伸, 所以图片会变形

- 规律二:
但凡取值中包含Aspect单词的, 都会按照图片的宽高比来拉伸
因为是按照图片的宽高比来拉伸, 所以图片不会变形

UIViewContentModeScaleAspectFit
+ 会按照图片的宽高比来拉伸
+ 要求整张图片都必须在UIImageView的范围内
+ 并且宽度和高度其中一个必须和UIImageView一样
+ 居中显示

UIViewContentModeScaleAspectFill,
+ 会按照图片的宽高比来拉伸
+ 要求整张图片必须填充UIImageView
+ 并且图片的宽度或者高度其中一个必须和UIImageView一样

时间: 2024-08-24 05:54:12

UIImage,UIImageView的使用的相关文章

iOS UIImage UIImageView 展示图片 不变形 处理

展示图片 时候 固定 了 imageView  的大小  图片 也裁剪了 尽量保持比例 可是 还是失真 变形了 这张图 ui 要求展示的UIimageView 大小 是固定 的  ,传过来的 图片 是这样的比例大小 这么大的图呢  比例 完全 不对等 imageView  的contentMode 属性  网上有个  很形象的例子 但是 尽量 其中  UIViewContentModeScaleAspectFill 会保证图片比例不变,但是是填充整个ImageView的 但是 我使用的情况 比例

UIImageview的简单运用

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

UIImageView(转)

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

从零开始学习ios(UIImageView)控件及其属性

//创建图片视图时就设定Frame的属性和大小 UIImageView *img = [[UIImageView alloc] initWithFrame:CGRectMake(60, 20, 80, 100)]; [img setImage:[UIImage imageNamed:@"mtxx6"]]; /* 创建图片视图的另外四种方法 type img{ UIImageView *img1 = [[UIImageView alloc]init]; UIImageView *img2

ios开发之UIImageView

废话少说,直接进入正题!!! 1.创建一个UIImageView: 创建一个UIImageView对象的几种方法: UIImageView *imageView1 = [[UIImageView alloc] init]; UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:(CGRect)]; UIImageView *imageView3 = [[UIImageView alloc] initWithImage:(UIIm

UIImageView的contentMode

一,写在前面 项目开发中,有时我们需要对UIImageView的contentModel属性做设置,来让图片以不同的方式,显示在UIImageView中. 比如让图片适应,UIImageView; 让UIImageView适应图片来显示等等. 二,了解contentMode @property(nonatomic) UIViewContentMode contentMode; //default is UIViewContentModeScaleToFill (默认方式,为UIViewConte

iOS开发:UIImageView常用操作

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

iOS UI基础控件之UIImageView

一.UIImageView和UIImage UIImageView是iOS中用于显示图片的类,UIImage是用于存储图片数据的类:iOS中几乎所有看到的图片数据都存储在UIImage中,同时所要的图片都是用UIImageView来显示:UIImageView和UIImage关系如下图: 二. 创建UIImageView的两种方式 1.自己设置图片位置和尺寸 "` UIImageView *iv = [[UIImageView alloc] init]; //创建的图片, 没有默认的宽高 iv.

[翻译] BFKit

BFKit BFKit is a collection of useful classes to develop Apps faster. BFKit是一个非常实用的开发套件,帮助你快速开发. Installing and Usage - 安装与使用 Copy the library folder (BFKit) to the project 复制library文件夹到项目当中 Add the AudioToolbox framework to the project 添加AudioToolbo

(转载)关于iOS的一些简单用法

1. 了解main函数,  UIApplication是初始化程序的核心,它接受4个参数.  其中argc和argv两个参数来自于main()接受的两个参数:另外两个String型参数分别表示程序的主要类(principal class)和代理类(delegate class) 2. plist xml格式文件通常用于储存用户设置pch  预编译文件头xib  Interface Builder 的图形界面设计文档StoryBoard是iOS 5的新特征,旨在代替历史悠久的NIB/XIB 3.