iOS学习-UIImageView

//
//  ViewController.m
//  UIImageView详解
//
//  Created by 大欢 on 16/1/20.
//  Copyright © 2016年 bjsxt. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self saveImage];

//    NSData * data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://pic2.ooopic.com/01/03/51/25b1OOOPIC19.jpg"]];
//    UIImage * image = [UIImage imageWithData:data];
//    UIImageView * imageView = [[UIImageView alloc] initWithFrame:self.view.frame];
//    imageView.image = image;
//    [self.view addSubview:imageView];
}

- (void)saveImage {
    
    NSString * path = [[NSBundle mainBundle] pathForResource:@"image" ofType:@"data"];
    NSData * data = [NSData dataWithContentsOfFile:path];
    UIImage * image = [UIImage imageWithData:data];
    UIImageView * imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
    imageView.image = image;
    [self.view addSubview:imageView];
    
    NSString * localPath = @"/Users/dahuan/Desktop/123.data";
    //    NSData * localData = UIImagePNGRepresentation(image);
    
    //param2 图片的质量
    NSData * localData = UIImageJPEGRepresentation(image, 0.5);
    [localData writeToFile:localPath atomically:YES];
    
}

- (void)createImageView {
    
//UIImageView - UIImage
//
//    1、imageNamed:方法
//imageNamed:是UIImage的一个类方法,它做的事情比我们看到的要稍微多一些。它的加载流程如下:
//    a. 系统回去检查系统缓存中是否存在该名字的图像,如果存在则直接返回。
//    b. 如果系统缓存中不存在该名字的图像,则会先加载到缓存中,在返回该对象。
//      观察上面的操作我们发现系统会缓存我们使用imageNamed:方法加载的图像时候,系统会自动帮我们缓存。这种机制适合于那种频繁用到界面贴图累的加载,但如果我们需要短时间内频繁的加载一些一次性的图像的话,最好不要使用这种方法。
//
//    2、imageWithContentsOfFile:和imageWithData:方法
//      图像会被系统以数据方式加载到程序。当你不需要重用该图像,或者你需要将图像以数据方式存储到数据库,又或者你要通过网络下载一个很大的图像时,请尽量使用imageWithData的方式加载图像。

UIImage * image1 = [UIImage imageNamed:@"baby.jpg"];

NSString * path = [[NSBundle mainBundle] pathForResource:@"baby" ofType:@"jpg"];

//    UIImage * image1 = [UIImage imageWithContentsOfFile:path];

UIImageView * imageView = [[UIImageView alloc] initWithImage:image1];

imageView.frame = CGRectMake(20, 20, image1.size.width, image1.size.height);
    
    [self.view addSubview:imageView];
}

- (void)endFile {
    
    //png,pdf不需要添加后缀名
    //jpg等添加后缀名
    
    //    UIImage * image = [UIImage imageNamed:@"fengjing"];
    //    UIImageView * imageView = [[UIImageView alloc] initWithImage:image];
    //    imageView.frame = self.view.frame;
    //    [self.view addSubview:imageView];
    
    
}

- (void)contentMode {
    NSString * path = [[NSBundle mainBundle] pathForResource:@"baby" ofType:@"jpg"];
    
    UIImage * image1 = [UIImage imageWithContentsOfFile:path];
    
    UIImageView * imageView = [[UIImageView alloc] initWithImage:image1];
    
    imageView.backgroundColor = [UIColor grayColor];
    
    imageView.frame = CGRectMake(20, 20, 100, 100);
    
    /*
     
     contentMode属性
     这个属性是用来设置图片的显示方式,如居中、居右,是否缩放等,有以下几个常量可供设定:
     
     UIViewContentModeScaleToFill
     UIViewContentModeScaleAspectFit
     UIViewContentModeScaleAspectFill
     UIViewContentModeRedraw
     UIViewContentModeCenter
     UIViewContentModeTop
     UIViewContentModeBottom
     UIViewContentModeLeft
     UIViewContentModeRight
     UIViewContentModeTopLeft
     UIViewContentModeTopRight
     UIViewContentModeBottomLeft
     UIViewContentModeBottomRight
     
     注意以上几个常量,凡是没有带Scale的,当图片尺寸超过 ImageView尺寸时,只有部分显示在ImageView中。UIViewContentModeScaleToFill属性会导致图片变形,图片填充满frame(默认)。
     UIViewContentModeScaleAspectFit会保证图片比例不变,而且全部显示在ImageView中,这意味着ImageView会有部分空白。UIViewContentModeScaleAspectFill也会证图片比例不变,但是是填充整个ImageView的,可能只有部分图片显示出来。
     
     */
    
    imageView.contentMode = UIViewContentModeLeft;
    
    //根据Bounds剪切之外的内容
    imageView.clipsToBounds = YES;
    
    [self.view addSubview:imageView];
}
@end
/*******************************************************/

时间: 2024-10-06 00:28:23

iOS学习-UIImageView的相关文章

iOS: 学习笔记, 使用performSelectorOnMainThread及时刷新UIImageView

在iOS中, 界面刷新在主线程中进行, 这导致NSURLSession远程下载图片使用UIImageView直接设置Image并不能及时刷新界面. 下面的代码演示了如何使用 performSelectorOnMainThread: withObject:  waitUntilDone: 方法来及时刷新图片 1. 创建iOS空应用程序(Empty Application). 2. 加入一个控制器类. 在YYAppDelegate.m中修改 #import "MainViewController.h

iOS学习笔记之UITableViewController&UITableView

iOS学习笔记之UITableViewController&UITableView 写在前面 上个月末到现在一直都在忙实验室的事情,与导师讨论之后,发现目前在实验室完成的工作还不足以写成毕业论文,因此需要继续思考新的算法.这是一件挺痛苦的事情,特别是在很难找到与自己研究方向相关的文献的时候.也许网格序列水印这个课题本身的研究意义就是有待考证的.尽管如此,还是要努力的思考下去.由于实验室的原因,iOS的学习进度明显受到影响,加之整理文档本身是一件耗费时间和精力的事情,因此才这么久没有写笔记了. M

IOS学习笔记 -- Modal和Quartz2D

一. Modal1.Modal的默认效果:新控制器从屏幕的最底部往上钻,直到盖住之前的控制器为止;Modal只是改变了View的现实,没有改变rootViewController 2.常用方法1>.以Modal的形式展示控制器- (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^)(void))completion2>.关

2015最新iOS学习线路图

iOS是由苹果公司开发的移动操作系统,以xcode为主要开发工具,具有简单易用的界面.令人惊叹的功能,以及超强的稳定性,已经成为iPhone.iPad 和iPod touch 的强大基础:iOS 内置的众多技术和功能让 Apple设备始终保持着遥遥领先的地位. iOS学习路线:http://www.mobiletrain.org/page/ios.html 课程分  类 课程模块 模块介绍 课程内容 Part1C语言 C语言和Objective-C语言 C语言 Mac系统及常用工具.进制:C数据

我的IOS学习资源收录

IOS7视频教程-storyboard与UIApplication http://v.youku.com/v_show/id_XNzMxMjgwNzEy.html 关东升老师的ios视频教程 iPhone与iPad开发实战-ios经典应用剖析-7大项目实战开发 1第1讲工具类应用密码生成(Amuck Password Generator)57分钟   2第2讲工具类应用密码生成(Amuck Password Generator)52分钟   3第3讲工具类应用--密码生成(Amuck Passw

iOS学习--UIScrollView 原理详解

iOS学习--UIScrollView 原理详解 http://blog.csdn.net/yanfangjin/article/details/7898189 ScrollView UIScrollView UIScrollView为了显示多于一个屏幕的内容或者超过你能放在内存中的内容. Scroll View为你处理缩小放大手势,UIScrollView实现了这些手势,并且替你处理对于它们的探测和回应.其中需要注意的子类是UITableView以及UITextView(用来显示大量的文字).

iOS 学习资料

(适合初学者) 本文资料来源于GitHub 一.视频教程(英文) Developing iOS 7 Apps for iPhone and iPad斯坦福开放教程之一, 课程主要讲解了一些 iOS 开发工具和 API 以及 iOS SDK 的使用, 属于 iOS 基础视频 iPad and iPhone Application Development该课程的讲师 Paul Hegarty 是斯坦福大学软件工程学教授, 视频内容讲解得深入, 权威, 深受好评 Advanced iPhone Dev

iOS学习资源收集

https://github.com/Tim9Liu9/TimLiu-iOS 自己总结的iOS.mac开源项目及库,持续更新.... github排名 https://github.com/trending,github搜索:https://github.com/search 目录 UI 下拉刷新 模糊效果 AutoLayout 富文本 图表 表相关与Tabbar 隐藏与显示 HUD与Toast 对话框 其他UI 动画 侧滑与右滑返回手势 gif动画 其他动画 网络相关 网络连接 图像获取 网络

iOS学习之NSBundle介绍和使用

iOS学习之NSBundle介绍和使用 http://blog.csdn.net/totogo2010/article/details/7672271 新建一个Single View Application,并在加入viewDidLoad方法里加入如下代码: [cpp] view plaincopy //    通过使用下面的方法得到程序的main bundle NSBundle *mainBundle = [NSBundle mainBundle]; NSString *imagePath =