UIImageView的使用方法详细

来源:互联网 发布:腾讯云域名认证失败 编辑:程序博客网 时间:2024/06/05 17:58
/ UIImageView的常用方法
   UIImage*oneImage = [UIImageimageNamed:@"max.png"]; // 使用ImageView通过name找到图片
    UIImageView *oneImageView = [[UIImageViewalloc]initWithImage:oneImage];//oneImage添加到oneImageView
    oneImageView.frame =CGRectMake(10,10,300,300);//设置图片位置和大小
    oneImageView.bounds=CGRectMake(10,10,280,280); //设置图片位置和大小,如果设置了frame,那么它这是的位置将不起作用
    oneImageView.backgroundColor = [UIColorredColor];//设置背景颜色
    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 = [[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(tapImageView:)];//设置手势
    [oneImageView addGestureRecognizer:singleTap];//给图片添加收拾
    oneImageView.hidden= NO;   //隐藏或者显示图片YES为隐藏
    [oneImageView sizeToFit];   //将图片尺寸调整为与内容图片相同
    // oneImageView.highlightedImage = (UIImage *)hightlightedImage; //设置高亮时显示的图片
    //设置图片连续播放,实现动画效果
    oneImageView.animationImages = [NSArrayarrayWithObjects:[UIImageimageNamed:@"max.png"], [UIImageimageNamed:@"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.viewaddSubview:oneImageView];

    [oneImageView release], oneImageView =nil

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