gpt4 book ai didi

ios - 如何在不进行 NSData 转换的情况下将 url 图像传递给 ios 中的按钮

转载 作者:可可西里 更新时间:2023-11-01 05:20:46 26 4
gpt4 key购买 nike

我想在服务器的按钮上显示图像 url。在服务器中我有图像 url。我想进行用户交互,所以我使用了一个按钮。

我做了以下:

  1. 从服务器检索图片 url。
  2. 将 > NSData 转换为 ImageObject
  3. 将 imageObject 添加到 setImageProperty 然后它成功显示图像但性能很慢。

但我不想使用 NSData 操作。因为它花费了很多时间。我想在应用程序中展示良好的性能。

有什么办法可以解决这个问题吗?

最佳答案

您可以使用 SDWebImage图书馆。它具有缓存功能的优秀库。

只需集成以下代码即可。

appDidFinishLauching 中添加以下代码,因为使用 lifo 执行最后一张图像将首先下载

SDWebImageManager.sharedManager.imageDownloader.executionOrder = SDWebImageDownloaderLIFOExecutionOrder;

然后在您的 View Controller 中导入类。

#import "UIButton+WebCache.h"

整合

//set button image
[btn sd_setImageWithURL:[NSURL URLWithString:@"your string"] forState:UIControlStateNormal];

//set background image
[btn sd_setBackgroundImageWithURL:[NSURL URLWithString:@"your string"] forState:UIControlStateNormal];

你也可以使用下面的代码在后台线程中下载图片

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"your string with encoding"];
if (data)
{
UIImage *img = [UIImage imageWithData:data];
dispatch_async(dispatch_get_main_queue(), ^{
if (img)
[btn setImage:btn forState:UIControlStateNormal];
});
}
});

但我个人更喜欢 SDWebImage 库,因为它是一个很好的库,它会处理缓存,所以你不想缓存图像。

关于ios - 如何在不进行 NSData 转换的情况下将 url 图像传递给 ios 中的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27566335/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com