• 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属性:控制图像的显示与否,看情况随意设置

  • 相关阅读:
    maven解决“Could not calculate build plan”问题
    HTTP中的重定向和请求转发的区别
    (转)《杂 文》 之 教你制作一份属于自己的简历
    (转)《SSO CAS单点系列》之 实现一个SSO认证服务器是这样的!
    (转)《SSO CAS单点系列》之 15分钟让你了解SSO技术到底是个什么鬼!
    (转)帮你深入理解OAuth2.0协议
    opengl库区分:glut、freeglut、glfw、glew、gl3w、glad
    OpenGL中的光照技术(翻译)
    [转]gluProject 和 gluUnproject 的详解
    英文版Ubuntu18.10安装搜狗输入法过程(图文并茂,亲自尝试!)
  • 原文地址:https://www.cnblogs.com/yyt-hehe-yyt/p/4725140.html
Copyright © 2020-2023  润新知