• UIImangeView的用法


    1.UIImageView 是用来设置图片的显示方式

    - (void)viewDidLoad {
        [super viewDidLoad];
    //
        UIImageView *imangview=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"3.jpg"]];
        
        imangview.frame=CGRectMake(20, 20, 50, 100);
        //imangview.image=[UIImage imageNamed:@"3.jpg"];
        [self.view addSubview:imangview];
    }

    运行结果如下:


    2.UIImageView的动画效果
    #import "ViewController.h"
    
    @interface ViewController ()
    {
        UIImageView *image;
    }
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
      image=[[UIImageView alloc]initWithFrame:CGRectMake(20,20, 200,200)];
        image.image=[UIImage imageNamed:@"12"];
        //图片的调整方法
        [image sizeToFit];//调整image,调整其尺寸适应图片大小(image的size等于图片的size)
    
        
        //image.contentMode=UIViewContentModeScaleAspectFit;//以image宽和高中较小的为标准进行等比缩放
    
        //image.contentMode=UIViewContentModeScaleAspectFill;//以image宽和高中较大的为标准进行等比缩放。如果image尺寸不够,则进行负方向调整,但是不会影响iamge的frame
        //image.contentMode=UIViewContentModeRedraw;
        
        //image.contentMode=UIViewContentModeCenter;//图片显示image的原始大小,显示的位置居于imageview的中心,如果imageview的尺寸不够,则负向调整
        NSLog(@"****%@",NSStringFromCGRect(image.frame));
    
    
    

    如下的简单例子
    #import "ViewController.h"
    
    @interface ViewController ()
    {
        UIImageView *image;
    }
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
      image=[[UIImageView alloc]initWithFrame:CGRectMake(20,20, 200,200)];
        NSMutableArray *arr=[[NSMutableArray alloc]initWithCapacity:0];
        for (int i=1; i<6; i++) {
            UIImage *animalim=[UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",i]];//多个图片组成的数组
            [arr addObject:animalim];   
        }
        image.animationImages=arr;//循环播放的图片
        image.animationDuration=5;//循环所有图片所需时间
        image.animationRepeatCount=2;//循环次数,0代表无限循环
        [image startAnimating ];//开始动画
       image.userInteractionEnabled=YES;//允许交互
        [self.view addSubview:image];
        
        UIButton *button=[UIButton buttonWithType:UIButtonTypeCustom];
        button.frame=CGRectMake(20, 20, 20, 20);
        button.backgroundColor=[UIColor redColor];
        [button addTarget:self action:@selector(stopAnimation) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:button];
        
    }
    -(void)stopAnimation{
        [image stopAnimating];
        image.image=[UIImage imageNamed:@"5.jpg"];//按下停止后,出现的某一背景图片
        NSLog(@"停止播放");
    }

    3.UIImageView的点击和拖动效果

    如下的简单例子
    #import "ViewController.h"
    
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        UIImageView *imgview=[[UIImageView alloc]initWithFrame:CGRectMake(50, 20, 100, 100)];
        imgview.image=[UIImage imageNamed:@"1.jpg"];//背景图片1
        
        UITapGestureRecognizer *tap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(imagetaped:)];
        
        imgview.tag=1;
        //注意一个手势不能添加多个视图
        [imgview addGestureRecognizer:tap];
        imgview.userInteractionEnabled=YES;
       
        UIImageView *imgview1=[[UIImageView alloc]initWithFrame:CGRectMake(50, 130, 100, 100)];
        imgview1.image=[UIImage imageNamed:@"6.jpg"];//背景图片2
        imgview1.tag=2;
        UITapGestureRecognizer *tap1=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(imagetaped:)];
         [imgview1 addGestureRecognizer:tap1];
        imgview1.userInteractionEnabled=YES;
        //tap.numberOfTapsRequired=2;//点击次数
        //tap1.numberOfTapsRequired=2;//手指个数、单击
        [self.view addSubview:imgview1];
        
        //设置img和img1不同的手势
        //点动手势
        UITapGestureRecognizer *pan=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(imagetapedpan:)];
        [imgview1 addGestureRecognizer:pan];
        //拖动手势
        UIPanGestureRecognizer *pan1=[[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(imagetapedpan:)];
        [imgview addGestureRecognizer:pan1];
         [self.view addSubview:imgview];
    }
    -(void)imagetapedpan:(UITapGestureRecognizer *)pan{
        NSLog(@"****状态%lu",pan.state);
        CGPoint point=[pan locationInView:self.view];
        pan.view.center=point;
    }
    -(void)imagetaped:(UITapGestureRecognizer *)ges{
        UIView *view=ges .view;
        NSLog(@"######视图被点击%zi",view.tag);
    }









     
  • 相关阅读:
    LeetCode 11. Container With Most Water
    LeetCode 10 Regular Expression Matching
    LeetCode 9 Palindrome Number
    LeetCode 8 String to Integer (atoi)
    从ASP.NET Core 3.0 preview 特性,了解CLR的Garbage Collection
    HttpClient参观记:.net core 2.2 对HttpClient到底做了神马
    LeetCode 7 Reverse Integer
    《地久天长》观影笔记
    《小丑》观后感
    粒子群基本算法学习笔记
  • 原文地址:https://www.cnblogs.com/wyhwyh2114/p/4956260.html
Copyright © 2020-2023  润新知