标签: sdwebimage

SDWebImage在缓存之前调整大小/缩放/裁剪来自url的图像

如何在缓存之前调整来自URL的图像的大小,缩放和裁剪.我尝试使用以下代码实现此目的.

[cell.profilePicture setImageWithURL:[NSURL URLWithString:[rowData objectForKey:@"pictureUrl"]] placeholderImage:nil];
cell.profilePicture.image = [self imageByScalingAndCroppingForSize:CGSizeMake(cell.profilePicture.frame.size.width, cell.profilePicture.frame.size.height) image:cell.profilePicture.image];
Run Code Online (Sandbox Code Playgroud)

这产生了一个奇怪的结果.首先,它显示未调整大小/缩放/裁剪的版本.但是,当我向下滚动然后返回时,它会显示调整大小/缩放/裁剪的版本.我知道这段代码首先缓存图像并调整大小/缩放/裁剪它们.但是,我无法想出更好的解决方案.我认为应该有一些能够下载图像的东西,以便独立调整大小/缩放/裁剪和缓存.有任何想法吗?

谢谢.

objective-c ios5 sdwebimage

8
推荐指数
1
解决办法
2万
查看次数

使用objective-c在ios文件系统上创建链接

我正在尝试创建一个漫画阅读器应用程序,它支持在线阅读和离线阅读(通过下载).

我发现MWPhotoBrowser是我的图像查看器,它支持SDWebImage作为图像缓存.

我的问题是,如果一些用户在线阅读漫画的一小部分,然后他们决定下载它以供离线阅读.由于已读取的部分由SDWebImage缓存,我不想再从Web服务器下载它们.但是,由于用户要求在本地下载它们,我不想将它们保留在图像缓存中,因为这样会使下载的图像不在我们手中.

将图像从图像缓存复制到我想要的位置是一个可行的解决方案,但它需要存储空间.所以,我要做的是将图像从图像缓存切割到正确的位置,然后在图像缓存中进行一些软链接.这样,存储文件系统中应该只有一个映像副本.

有关于此的任何提示或提示吗?

iphone symlink objective-c ios sdwebimage

8
推荐指数
1
解决办法
7785
查看次数

使用SDWebImage而不是AFNetworking进行图像加载有什么大优势吗?

SDWebImage声称 AFNetworking不会缓存图像本身而只缓存HTTP响应,因此SDWebImage可以更快地从缓存中调用图像并进行呈现.

如果我想纯粹使用AFNetworking,这样的声明是真的与否,真的是性能明显的东西吗?这是我应该警惕的吗?

objective-c ios afnetworking sdwebimage afnetworking-2

8
推荐指数
1
解决办法
5876
查看次数

忽略SDWebImage的查询参数

我正在使用SDWebImage缓存我的应用程序中的图像,但最近我遇到了一个问题,应该缓存的图像保持刷新.调查一下,我发现来自AWS的完整图像网址实际上是由于参数添加到网址末尾而改变的.每次我获取包含图像URL的对象时,图像url返回动态"签名"和"过期"参数(出于安全目的).就图像缓存而言,是一个不同的URL,但请注意图像的相同路径.

首先获取:

https://myapp.s3.amazonaws.com/path/image123.jpeg?AWSAccessKeyId=SOMEKEY&Signature=vrUFlMFEQ9fqQ%3D&Expires=1441702633

1秒后再次获取:

https://myapp.s3.amazonaws.com/path/image123.jpeg?AWSAccessKeyId=SOMEKEY&Signature=2mcMxUJLyJd7E%3D&Expires=1441703105

处理这种情况的最佳方法是什么?如果SDWebImage有一个选项可以忽略文件路径之外的查询参数,那肯定会很棒.

caching amazon-s3 ios sdwebimage

8
推荐指数
3
解决办法
1190
查看次数

iOS中的图像预加载

我开发了一个应用程序,在UICollectionView类似Tinder中显示"全屏卡" .该卡包含图像和一些文本.我被加载使用图像SDWebImagesd_setImageWithURL方法中UICollectionView的细胞.

然而,这并没有给我带来良好的性能,因为当用户在卡上时,图像大多是加载的.因此,我使用SDWebImagePrefetcher预取队列执行此操作,如下所示: -

func startImagePreloadingOperationForIndex(index:Int)
{
    let numberOfImagesToBePreloadedOnEachSide = 20
    var previousIndex = index - numberOfImagesToBePreloadedOnEachSide
    var nextIndex = index + numberOfImagesToBePreloadedOnEachSide

    if previousIndex < 0
    {
        previousIndex = 0
    }
    if nextIndex >= currentNewsCollection.count
    {
        nextIndex = currentNewsCollection.count - 1
    }

    if previousIndex >= nextIndex || currentNewsCollection.isEmpty
    {
        return
    }
    let arrayOfNewsStories = currentNewsCollection[previousIndex...nextIndex]

    let arrayOfImageURLs = arrayOfNewsStories.map( { ImageUtility.getImageStringForNewsStory($0) } )

    SDWebImagePrefetcher.sharedImagePrefetcher().prefetchURLs(arrayOfImageURLs, progress: { (x, y) -> …
Run Code Online (Sandbox Code Playgroud)

image ios sdwebimage uicollectionview swift

8
推荐指数
2
解决办法
2348
查看次数

SDWebImage构建存档(分发)?

我正在使用SDWebImage开源项目异步加载图像.我可以为模拟器和本地设备构建和运行.但是,当我尝试构建分发(即存档)时,编译器似乎不明白头文件是什么:

导入"UIImageView + WebCache.h"(没有这样的文件或目录).

我几乎按照说明,相对容易,在github.com/rs/SDWebImage上描述.

我知道事情太顺利/容易变得如此.奇怪的是,我从未真正遇到过归档专属的问题.有人曾尝试使用SDWebImage存档吗?

*更新* 我根据以下评论更新.现在我在存档构建时收到以下错误:

arm-apple-darwin10-llvm-gcc-4.2:Poll/BuildProductsPath/Release-iphoneos/libSDWebImage.a:没有这样的文件或目录Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2退出代码1失败

奇怪的是我在我的项目中有sdwebimage.a文件(实际上有2个,我复制和包含的文件,以及SDWEbImage项目本身的第2个文件).

*更新2* 经过进一步调查,当我存档(.a文件为红色)时,我的SDWebImage项目没有建立.但任何其他构建类型工作正常.我到处看,似乎SDWebImage项目具有分发配置.不确定这里还有什么问题.

iphone sdwebimage

7
推荐指数
2
解决办法
3463
查看次数

使用翠鸟lib插入授权标题字段

我正在使用Kingfisher来显示来自网址的图片,但我的端点需要一个授权标头.如何在iOS中使用Kingfisher或SDWebImage这些网址?

xcode ios sdwebimage kingfisher

7
推荐指数
2
解决办法
1736
查看次数

应用程序重新输入前景时SDWebImage + WebP ImageView闪烁

我通过CocoaPods在我们的项目中面临SDWebImage + WebP集成的问题.我正在使用SDWebImage + WebP从我的服务器在UItableView中的集合列表中加载我的webp图像.

每次我重新进入前景或每次重新启动时,单元格中的imageView将从磁盘重新获取图像(意味着图像视图将为空白)并使用相同的图像重新加载UIImageview,即使数据在服务器上没有更改.

但是当我使用具有相同代码库的JPG格式时,它将按照我的预期工作,重新输入前景没有黑屏,它将显示缓存的图像.但它不适用于webp

我使用的代码:

[videoV.imageViewVideo sd_setImageWithURL:[NSURL URLWithString:imageUrl] placeholderImage:nil options:SDWebImageRefreshCached|SDWebImageRetryFailed ];
Run Code Online (Sandbox Code Playgroud)

任何帮助欣赏!

iphone ios webp sdwebimage

7
推荐指数
1
解决办法
204
查看次数

从未在页面浏览容器swift中显示的API传递的图像

我正在开发一个iOS应用程序,它使用alamofire和swiftyJSON与API进行交互.在这个api中,我得到了一堆返回的值,其中一个是图像.返回的图像以数组的形式出现,但我能够遍历数组并显示单个图像.为了使应用程序更高级,我决定在我的应用程序中实现UIPageViewController类.我调用了API函数并试图将我的图像传递给视图控制器.

我的故事板中的事物列表

  1. 一个UIPageView
  2. 带有UIImage的UiViewController嵌入其中.

据我所知,我的代码很好,但是当我运行应用程序时,控制台中没有任何反应.以下是我的代码.

protocol ProductImagesPageViewControllerDelegate: class {
    func setupPageController(numberOfPages: Int)
    func turnPageController(to index: Int)
}

class ProductPageVC: UIPageViewController {

    weak var  pageViewControllerDelegate: ProductImagesPageViewControllerDelegate?

    override func viewDidLoad() {
        super.viewDidLoad()

        automaticallyAdjustsScrollViewInsets = false
        dataSource = self
        delegate = self

    }


    func configureImg() {
        let productId = ProductServices.instance.selectedProduct?.id
        ProductServices.instance.findIndividualProducts(id: productId!, completion: { (success) in

            if success {
                ProductServices.instance.productDetails.forEach({ (productDetail) in

                    let images = productDetail.productImg.count

                    if images > 0 {

                        for image in 0..<(images) {

                            let imageVC = self.storyboard?.instantiateViewController(withIdentifier: PRODUCT_IMAGE_VC) …
Run Code Online (Sandbox Code Playgroud)

json ios sdwebimage swift alamofire

7
推荐指数
1
解决办法
264
查看次数

使用 Xcode 13 构建项目时出现“编译 swift 源文件 (arm64)”错误

我正在使用 Xcode 13.0 (13A233) 在配备 M1 芯片的 Macbook 上开发一个应用程序。将 pod 更新到最新版本后,pod 抱怨错误

CompileSwiftSources 正常的arm64 com.apple.xcode.tools.swift.compiler(在项目“Pods”的目标“Alamofire”中)

并且不为真实设备或模拟器构建。

我在项目中包含以下 pod:

  • 阿拉莫菲尔
  • IQ键盘管理器
  • NV活动指示器视图
  • 可填充装载机
  • SQlite.Swift
  • SDWeb图像
  • Swift 数据表

我已经为主项目和所有 pod 项目应用了以下解决方案:

  • 更新 pod 后,清理构建文件夹(使用 Shift + Command + K)
  • 从排除的架构中排除“任何 iOS 模拟器 SDK”的 arm64 架构
  • 将“是”设置为“仅构建活动架构”
  • 用户定义部分中没有名为“VALID_ARCHS”的字段
  • 通过 Medium 提供的解决方案

您可以在此屏幕截图上查看错误详细信息

笔记

我知道与这些问题相关的答案有很多,但我已经尝试了每个问题,当我无法用这些答案解决问题时,我在这里发布问题。

ios sdwebimage swift alamofire xcode13

7
推荐指数
1
解决办法
2万
查看次数