OC中的UIImageView

UIImageView

本地图片和网络图片的添加

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //方法)添加本地图片
    
    //创建一个全屏的imageOne
    UIImageView *imageOne=[[UIImageView alloc]initWithFrame:self.view.frame];
    //将本地图片touxiang.png赋给imageOne
    imageOne.image = [UIImage imageNamed:@"touxiang.png"];
    //将上面的设置添加到手机界面
    [self.view addSubview:imageOne];
    
    //手动创建一个imageTwo
    UIImageView *imageTwo=[[UIImageView alloc]initWithFrame:CGRectMake(50, 100, 300, 200)];
    //将本地图片touxiang.png赋给imageTwo
    imageTwo.image = [UIImage imageNamed:@"touxiang.png"];
    //将上面的设置添加到手机界面
    [self.view addSubview:imageTwo];
    
    
    //方法)添加网络图片
    
    //手动创建一个UIImageView类型
    UIImageView *imageThree = [[UIImageView alloc]initWithFrame:CGRectMake(35, 100, 300, 200)];
    //修改imageThree的颜色
    imageThree.backgroundColor = [UIColor redColor];
    
    //创建一个NSURL类型的用来接收网络图片的地址
    //(!!!此处注意:因为网络图片大部分是http:开头的,所以要加上一下代码:
    /*
     <key>NSAppTransportSecurity</key>
     <dict>
     <key>NSAllowsArbitraryLoads</key>
     <true/>
     </dict>
     */
    //位置是右击info.plist,选Open As,选Source Code,在一段<key><string>中添加进去,一定要在<string>这行结束后面添加。
    NSURL *imageUrl = [NSURL URLWithString:@"http://img3.cache.netease.com/auto/2016/4/5/201604051738210abc4_550.jpg"];
    
    //创建一个NSData类型的用来转换网络地址
    NSData *imageData = [NSData dataWithContentsOfURL:imageUrl];
    
    
    //因为是网络图片,所以这里我们在Documents文件夹里创建一个2.jpg的文件,将Data数据存放到2.jpg里
    NSString *a = [NSHomeDirectory() stringByAppendingString:@"/Documents/2.jpg"];
    [[NSFileManager defaultManager]createFileAtPath:a contents:imageData attributes:nil];
    NSLog(@"%@", a);
    
    //创建一个UIImage类型的用来接收图片
    UIImage *image_Tmp = [UIImage imageWithData:imageData];
    //将图片赋给imageThree
    imageThree.image =image_Tmp;
    //将上述设置添加到手机界面
    [self.view addSubview:imageThree];
    
}

 

 

 

动画

#import "ViewController.h"

@interface ViewController (){
    //新建一个动画
    UIImageView *imagePlay;
    //新建一个UIButton,控制点击播放
    UIButton *myButton;
    //新建一个数组,用来存放动画的素材
    NSMutableArray *imageNumber;
}

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //给动画分配空间,铺满屏幕
    imagePlay = [[UIImageView alloc]initWithFrame:self.view.frame];
    //设置动画的初始界面
    imagePlay.image = [UIImage imageNamed:@"cat_eat0000.jpg"];
    //将上面的设置添加到界面上
    [self.view addSubview:imagePlay];
    
    //给按钮分配空间,和设置位置和大小
    myButton = [[UIButton alloc]initWithFrame:CGRectMake(50, 500, 300, 50)];
    //设置按钮的颜色
    myButton.backgroundColor = [UIColor redColor];
    //设置按钮的方法
    [myButton addTarget:self action:@selector(play:) forControlEvents:UIControlEventTouchUpInside];
    //设置按钮上的文字
    [myButton setTitle:@"开始播放" forState:UIControlStateNormal];
    
    //将按钮添加到动画上
    [imagePlay addSubview:myButton];
    
    //将动画设置成可交互的
    imagePlay.userInteractionEnabled = YES;
    
    //初始化数组,用来存放动画的图片
    imageNumber = [[NSMutableArray alloc]initWithCapacity:10];
    //for循环动画的张数,然后每张素材名称都是有规律的,利用i来遍历它
    for (int i=0; i<40; i++) {
        NSString *a = [NSString stringWithFormat:@"cat_eat00%.2d.jpg", i];
        //新建一个UIImage类型的画面b,来转换并存放遍历出来的每一张a
        UIImage *b = [UIImage imageNamed:a];
        //将转换好的每一张画面b,存到数组中
        [imageNumber addObject:b];
        
    }
    
}

//按钮的方法,控制动画开始播放
-(void)play:(id)a{
    //动画的素材库(来源),数组
    imagePlay.animationImages = imageNumber;
    //动画的时间
    imagePlay.animationDuration = 1.8;
    //动画播放的次数
    imagePlay.animationRepeatCount = 1;
    //动画开始播放
    [imagePlay startAnimating];
    
}

 

 

 

假如 UIImageView 上面有一个Button,这时,就要让 UIImageView 可以被点击

  baseIV.userInteractionEnabled=YES;//让UIImageView可以被点击

转载于:https://my.oschina.net/LBBB/blog/653855

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值