UI第五课

本文介绍iOS开发中UIImageView的使用方法及手势识别器的应用,包括图片显示、动画效果、位置变化等,并详细说明了多种手势识别器及其配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要内容:设计模式、手势识别器

一、target / action设计模式

       耦合:

              1、是衡量一个程序写的好坏的标准之一

              2、耦合是衡量模块与模块之间关联程度的指标

              3、“ 高内聚,低耦合 ” 是面向对象编程的核心思想

二、UIImageView

       UIImageView是iOS中显示图片的类,iOS中几乎所有能看到的图片都是由这个类显示的

       UIImageView使用详解

       // 创建对象
       UIImageView *imageView = [[UIImageView alloc] init];


       // 设置图片的位置和大小
       imageView.frame = CGRectMake(10, 10, 300, 300);


      // 设置图片的位置和大小,如果设置了frame,则它将不起作用
      imageView.bounds = CGRectMake(10, 10, 300, 300);


      // 设置背景颜色
      imageView.background = [UIColor greenColor];


      // 设置透明度
      imageView.alpha = 1.0;


      // 修改图片的中心点位置
      imageView.center = CGPointMake(40, 60);


      // 把一个图片移动一段距离 其中20表示想要往x或者y方向移动多少,而不是移动到多少。
      oneImageView.transform = CGAffineTransformMakeTranslation(20, 20);


     // 旋转图像一定角度 注意:单位是弧度,而不是我们最常用的度数,所以可以写一个宏定义:#define degreesToRadians(x) (M_PI*(x)/180.0)
     oneImageView.transform = CGAffineTransformMakeRotation(0.0f);
   

      // 其中,CGFloat scale_w与CGFloat scale_h分别表示将原来的宽度和高度缩放到多少倍,下图是缩放到原来的0.5倍 
     oneImageView.transform = CGAffineTransformMakeScale(0.5, 0.5); 
 

      // 为图片添加点击事件
      // 一定要先将userInteractionEnabled置为YES,这样才能响应单击事件
      oneImageView.userInteractionEnabled = YES; // 设置图片可以交互
      UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapImageView:)]; // 设置手势
      [oneImageView addGestureRecognizer:singleTap]; // 给图片添加收拾
       
      oneImageView.hidden = NO;    // 隐藏或者显示图片 YES为隐藏
      [oneImageView sizeToFit];    // 将图片尺寸调整为与内容图片相同
      // oneImageView.highlightedImage = (UIImage *)hightlightedImage; // 设置高亮时显示的图片

     / / 设置图片连续播放,实现动画效果
     oneImageView.animationImages = [NSArray arrayWithObjects:[UIImage imageNamed:@"max.png"], [UIImage imageNamed:@"min.png"], nil]; 
     oneImageView.animationDuration = 0.3f; // 设置循环一次的时间
     oneImageView.animationRepeatCount = 0; // 循环的次数。设置为0时无线循环
     [oneImageView startAnimating]; // 开始动画
     // [oneImageView stopAnimating]; // 停止动画
    
    // 获取网络中的图片
    UIImage *urlImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"www.baidu.com"]]];


    
     // 添加到View上,并释放内存
     [self.view addSubview:oneImageView];
     [oneImageView release], oneImageView = nil;

三、手势识别器

        手势识别器是对触摸事件做了封装,我们无需自己判断某个手势是否触发,手势识别器本身起了识别作用,我们的重点是放在识别之后做了什么

    

         手势识别器有7个子类

                 1、轻拍手势       UITapGestureRecognizer

                 2、平移手势        UIPanGestureRecognizer

                 3、轻扫手势       UISwipeGestureRecognizer

                 4、缩放手势       UIPinchGestureRecognizer

                 5、旋转手势      UIRotationGestureRecognizer

                 6、长按手势       UILongPressGestureRecognizer

                 7、屏幕边界平移   UIScreenEdgePanGestureRecognizer

       一旦指定的手势被识别,我们可以执行我们自己定义好的操作

       使用手势识别器的步骤

               1、创建UI***GestureRecognizer对象,使用 initWithTarget: action: 方法

               2、配置要识别的手势的相关信息

               3、将手势添加到某视图上

               4、实现手势识别器里定义的方法

       transForm是View的重要属性,它在矩阵层面上改变View的显示状态,能实现 View的缩放、捏合。。等

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值