UIImageView的使用方法详细

本文详细介绍了UIImageView在iOS开发中的常用方法,包括加载图片、设置属性、添加点击事件、网络图片加载、动画效果以及交互事件的实现。通过实例演示了如何使用UIImageView进行基本的图片展示与交互操作。

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

/ UIImageView的常用方法
    UIImage *oneImage = [UIImage imageNamed:@"max.png"]; // 使用ImageView通过name找到图片
    UIImageView *oneImageView = [[UIImageView alloc] initWithImage:oneImage]; // oneImage添加到oneImageView
    oneImageView.frame = CGRectMake(10, 10, 300, 300); // 设置图片位置和大小
    oneImageView.bounds = CGRectMake(10, 10, 280, 280); // 设置图片位置和大小,如果设置了frame,那么它这是的位置将不起作用
    oneImageView.backgroundColor = [UIColor redColor]; // 设置背景颜色
    oneImageView.alpha = 1.0; // 设置透明度
    oneImageView.contentMode = UIViewContentModeTop;
    // 有以下一些相对位置关系
//    UIViewContentModeScaleToFill
//    UIViewContentModeScaleAspectFit
//    UIViewContentModeScaleAspectFill
//    UIViewContentModeRedraw
//    UIViewContentModeCenter
//    UIViewContentModeTop
//    UIViewContentModeBottom
//    UIViewContentModeLeft
//    UIViewContentModeRight
//    UIViewContentModeTopLeft
//    UIViewContentModeTopRight
//    UIViewContentModeBottomLeft
//    UIViewContentModeBottomRight
    
    oneImageView.center = CGPointMake(150, 300); // 修改图片center的位置
    oneImageView.transform = CGAffineTransformMakeTranslation(20, 20); // 把一个图片移动一段距离 其中20表示想要往x或者y方向移动多少,而不是移动到多少。
    oneImageView.transform = CGAffineTransformMakeRotation(0.0f); // 旋转图像一定角度 注意:单位是弧度,而不是我们最常用的度数,所以可以写一个宏定义:#define degreesToRadians(x) (M_PI*(x)/180.0)
    oneImageView.transform = CGAffineTransformMakeScale(0.5, 0.5); // 其中,CGFloat scale_wCGFloat scale_h分别表示将原来的宽度和高度缩放到多少倍,下图是缩放到原来的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

UIImageView默认是不支持交互的,也就是userInteractionEnabled=NO ,因此要接收触摸事件(手势识别),必须设置userInteractionEnabled=YES(在iOS中UILabel、UIImageView 的userInteractionEnabled默认都是NO,UIButton、UITextField、UIScrollView、 UITableView等默认都是YES)。
轻扫手势虽然是连续手势但是它的操作事件只会在识别结束时调用一次,其他连续手势都会调用多次,一般需要进行状态判断;此外轻扫手势支持四个方向,但是如果要支持多个方向需要添加多个轻扫手势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值