zoukankan      html  css  js  c++  java
  • UIImageView控件

      UIImageView是用于显示图像的,在iOS开发中,我们无需专门去写什么代码,不需要检查设备的类型,只需要把1x、2x、3x的图像添加到项目中,图像视图会自动的在正确的时间加载正确的图像。

      (1)UIImageView的创建及简单用法

        UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"banner01"]];

        imageView.backgroundColor = [UIColor lightGrayColor];

        imageView.frame = CGRectMake(20, 20, 200, 300);

        [self.view addSubview:imageView];

      (2)contentMode属性

    typedef NS_ENUM(NSInteger, UIViewContentMode) {

        UIViewContentModeScaleToFill,    //图像填充整个imageView的大小

        UIViewContentModeScaleAspectFit,     //图像保持原宽高比放在视图中间

        UIViewContentModeScaleAspectFill,    //图像保持原宽高比扩充放在视图的中间点上

        UIViewContentModeRedraw,               // redraw on bounds change (calls -setNeedsDisplay)

        UIViewContentModeCenter,                //图像水平居中,竖直居中,图片保持原大小 

        UIViewContentModeTop,         //图像水平居中,竖直居上,图片保持原大小

        UIViewContentModeBottom,       //图像水平居中,竖直居下,图片保持原大小

        UIViewContentModeLeft,        //图像水平居左,竖直居中,图片保持原大小

        UIViewContentModeRight,       //图像水平居右,竖直居中,图片保持原大小

        UIViewContentModeTopLeft,      //图像水平居左,竖直居上,图片保持原大小

        UIViewContentModeTopRight,    //图像水平居左,竖直居上,图片保持原大小

        UIViewContentModeBottomLeft,    //图像水平居中,竖直居下,图片保持原大小

        UIViewContentModeBottomRight,  //图像水平居中,竖直居下,图片保持原大小

    };

      (3)更改位置

        a.直接修改frame属性

        b.修改其center属性

         imageView.center =CGPointMake(<#CGFloat x#>, <#CGFloat y#>);

        c.使用transform属性

           imageView.transform = CGAffineTransformMakeTranslation(<#CGFloat tx#>, <#CGFloat ty#>);

         其中dx与dy表示想要往x或者y方向移动多少,而不是移动到多少。

      (4)旋转图像

        imageView.transform = CGAffineTransformMakeRotation(<#CGFloat angle#>);

        图片是按照顺时针方向旋转的,而且旋转中心是图像的中心,即center值。angle的单位是弧度,而不是度数

      (5)缩放图像

        imageView.transform = CGAffineTransformMakeScale(<#CGFloat sx#>, <#CGFloat sy#>);

        sx表示水平方向缩放的倍数,sy表示垂直方向缩放的倍数

      (6)播放一系列图片

        UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 20, 200, 400)];

        

        NSMutableArray *imagesArray = [NSMutableArray array];

        for (int i = 2; i<7; i++) {

            UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.png",i]];

            [imagesArray addObject:image];

        }

        

        imageView.animationImages = imagesArray;

        //设置播放全部图片一次所用的时间

        imageView.animationDuration = 2.0;

        //设置播放图像的次数,0表示无数遍

        imageView.animationRepeatCount = 0;

        //开始播放
        [imageView startAnimating];

     

        [self.view addSubview:imageView];

        

      (7)为图片添加单击事件

        //imageView的用户交互一定要打开

          imageView.userInteractionEnabled = YES;

        //创建点击手势及点击事件

          UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(clickImageView)];

          //将点击事件加入到imageView中

          [imageView addGestureRecognizer:tap];

      (8)其他设置

         a.alpha属性:设置图像的透明度,在做一些模糊效果时不妨试试

         b.hidden属性:控制图像的显示与否,看情况随意设置

  • 相关阅读:
    block 专题--基础
    iOS开发之沙盒机制
    App上架流程(2016最新)
    团队项目个人总结
    结对开发训练(续)(郭林林&胡潇丹)
    结对开发训练(郭林林&胡潇丹)
    计算一篇英语文章出现频率最高的十个单词
    TLB和大叶
    韩顺平的java入门到精通中serversql笔记(包括emp表和dept表,linux的mysql版)
    IPv6
  • 原文地址:https://www.cnblogs.com/yyt-hehe-yyt/p/4725140.html
Copyright © 2011-2022 走看看