开发者社区> 问答> 正文

关于ImageView没有实现预期功能

做了一个功能,实现循环图片(1.png, 2.png, 3.png, 4.png, 5.png)UIImageView中显示。

在加载网页时我希望imageView能进行循环,作为一个加载图标。

但是没成功,什么也没显示。请高手帮忙。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    for(int c = 1; !webviewLoaded; c++)
    {
        c = c % 6;
        if(c == 6)
            c = 1;
        NSString *numberString = [NSString stringWithFormat:@"%d.png", c];
        UIImage *img = [UIImage imageNamed:numberString];
        [self.loadingImage setImage:img];
        sleep(1);
    }
});

展开
收起
爵霸 2016-03-19 10:24:36 1772 0
1 条回答
写回答
取消 提交回答
  • 问题应该出在在给UIImageView (self.loadingImage) 赋新的UIImage的时候。如下这句
    `[self.loadingImage setImage:img];
    `

    你使用GCD开启了一个后台线程来处理获取图片的操作。但你要将最终拿到的图片赋给UI线程上的控件时需要指定你的操作是在主线程上。所以赋值的代码可能要改一下。

     dispatch_async(dispatch_get_main_queue(), ^{
               [self.loadingImage setImage:img];
            });
    2019-07-17 19:07:33
    赞同 展开评论 打赏
问答分类:
C++
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载