美文网首页GXiOS
iOS开发--UIImageView

iOS开发--UIImageView

作者: Caesar_62dd | 来源:发表于2019-05-05 19:29 被阅读6次

    UIImageView控件

         //设置全屏
         //imageView.frame = self.view.bounds;
        //imageView.image = [UIImage imageNamed:@"1"];
        // 2.1 先拿到图片对象
        UIImage *image = [UIImage imageNamed:@"1"];
        imageView.image = image;
        imageView.backgroundColor = [UIColor blueColor];
        imageView.frame = CGRectMake(50, 100, 300, 200);
        [self.view addSubview:imageView];
        imageView.clipsToBounds = YES;
        //图片设置内容模式
        imageView.contentMode = UIViewContentModeScaleAspectFill;
    

    设置毛玻璃

        UIToolbar *toolBar = [[UIToolbar alloc] init];
        toolBar.frame = imageView.bounds;
        toolBar.barStyle = UIBarStyleBlackOpaque;
        toolBar.alpha = 0.77;
        [imageView addSubview:toolBar];
    

    图片的两种加载方式:

    1>imageNamed:
    a. 就算指向它的指针被销毁,该资源也不会被从内存中干掉
    b. 放到Assets.xcassets的图片,默认就有缓存
    c. 使用场景:图片经常被使用
    d. 加载Assets.xcassets这里面的图片:打包后变成Assets.car,拿不到路径,只能通过imageNamed:来加载图片,不能通过imageWithContentsOfFile:来加载图片

    self.imageView.image = [UIImage imageNamed:@"1"];
    

    2>imageWithContentsOfFile:
    a. 指向它的指针被销毁,该资源会被从内存中干掉
    b. 放到项目中的图片就没有缓存
    c. 使用场景:不经常用,大批量的图片

     NSString *path = [[NSBundle mainBundle pathForResource:@"1"ofType:@"png"];
     self.imageView.image = [UIImage imageWithContentsOfFile:path];
    

    UIImageView 动画

    /**
     *  放招
     *
     *  @param images   图片数组
     *  @param count    播放次数
     *  @param duration 播放时间
     *  @param isStand  是否站立
     */
    - (void)palyZhaoWithImages:(NSArray *)images count: (NSInteger)count duration:(NSTimeInterval)duration isStand:(BOOL)isStand musicName:(NSString *)musicName{
        // 1.设置动画图片
        self.imageView.animationImages = images;
        
        // 2.设置动画次数
        self.imageView.animationRepeatCount = count;
        
        // 3.设置播放时长
        self.imageView.animationDuration = duration;
        
        // 4.播放
        [self.imageView startAnimating];
        
        // 5.站立
        if (!isStand) {
           // 6.播放
            NSURL *url = [[NSBundle mainBundle] URLForResource:musicName withExtension:nil];
            AVPlayerItem *playerItem = [[AVPlayerItem alloc] initWithURL:url];
            [self.player replaceCurrentItemWithPlayerItem:playerItem];
            [self.player play];
            
            // 7.调节速率
            self.player.rate = 2.0;
           // 延迟执行方法
         [self performSelector:@selector(stand) withObject:nil afterDelay:self.imageView.animationDuration];
        }
    }
    

    批量加载图片

    /**
     *  加载所有的图片
     *
     *  @param imagePrefix 名称前缀
     *  @param count       图片的总个数
     */
    - (NSArray *)loadAllImagesWithimagePrefix:(NSString *)imagePrefix count:(int)count{
        NSMutableArray<UIImage *> *images = [NSMutableArray array];
        for (int i=0; i<count; i++) {
            // 获取所有图片的名称
            NSString *imageName = [NSString stringWithFormat:@"%@_%d",imagePrefix, i+1];
            // 创建UIImage
    //        UIImage *image = [UIImage imageNamed:imageName];
            NSString *imagePath = [[NSBundle mainBundle] pathForResource:imageName ofType:@"png"];
            UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
            // 装入数组
            [images addObject:image];
        }
        return images;
    }
    

    相关文章

      网友评论

        本文标题:iOS开发--UIImageView

        本文链接:https://www.haomeiwen.com/subject/ukfkoqtx.html