问题标签 [kingfisher]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2374 浏览

ios - 主线程阻塞滚动和翠鸟设置图像

我一直在运行缓慢的滚动性能,并且我注意到当我滚动并setImage使用非缓存图像调用时,下载发生时性能滞后。

我的理解是翠鸟在后台线程上下载这些,然后在主线程上显示它们,但主线程似乎暂时被阻止了。删除对.transition情况没有帮助。

关于如何提高我的滚动性能的任何想法?谢谢

0 投票
1 回答
2940 浏览

ios - 翠鸟加载缓存图像

我的 API 返回 2 种类型的照片:小和大

我使用翠鸟加载照片,我总是先加载小照片。当我加载大照片时,我想实现这一点

我怎样才能正确地使用翠鸟实现这一目标

0 投票
1 回答
2893 浏览

ios - 如何将 KingFisher 库用于资产文件夹 Swift 中的图像?

我正在使用 kingfisher 库,但我的问题是我不能将它用于存储在资产中的图像 - 所有 kingfisher 方法都需要 url,那么我如何将它用于资产?

0 投票
2 回答
70 浏览

ios - UITableview 部分 - 如何正确重新计算高度?

视频:

https://youtu.be/sSHrxSIHUM4

正如您在视频中看到的那样,我遇到了问题。图像高度约束被破坏,导致标签也缺少高度。它们位于 tableview (class UITableHeaderFooter) 部分。我曾经automaticDimension计算过它的高度,结果得到了纠正。

这是图像视图约束。(默认高度约束为 184 并且在运行时更新取决于比率。)

https://uphinhnhanh.com/image/SAezyz

和标签约束:

https://uphinhnhanh.com/image/SAeT5Y

问题发生在我打电话table reload重新配置剖面视图数据和高度然后下载图像之后。我收到了损坏的约束警告。Xcode 打破了导致问题的 imageview 高度约束。

我注意到这'UIView-Encapsulated-Layout-Height'是估计高度。

获取代码很简单,因为我使用的是 Kingfisher

所以我想问一下如何正确修复约束中断?

谢谢你。

0 投票
1 回答
810 浏览

swift - 翠鸟:没有这样的模块“CommonCrypto”

我已经安装了最新版本的Kingfisherie pod 'Kingfisher', '~> 5.0',但是当我尝试构建我的项目时,我收到以下编译错误:

No such module 'CommonCrypto' String+MD5.swift

我不知道为什么会发生此错误。

Xcode 版本:9.4.1

平台:ios,'10.0'

0 投票
1 回答
1112 浏览

ios - UITableView 在滚动或重新加载 tableviewcell 之前不显示远程图像

我正在使用Kingfisher下载和缓存远程图像。

我想将这些图像渲染成UITableViewCell

目前图像在我滚动之前不会显示。

我怀疑这是因为初始图像大小为零,一旦我滚动单元格就会重绘并渲染图像。

为了否定这个问题,我调用 tableView.reloadRows(at: [indexPath], with: .none)了 Kingfisher 的完成处理程序

我已经应用了一个固定高度和宽度的简单占位符,以便在应用图像之前为单元格提供一些高度。

我不确定这是最好的方法,我不喜欢这样称呼tableView.reloadRows(at: [indexPath], with: .none)它有点……hacky。

此外,在重绘单元格之前,我有空白区域、占位符,然后在应用正确的图像/大小时跳转。

在应用图像之前,是否可以简单地阻止单元格可见?

0 投票
2 回答
3065 浏览

swift - 如何在使用 Kingfisher 从 URL 加载图像后调整 UIImageView 的大小

我想调整任何下载的图像的大小,以保持它们的纵横比,但是它们都与UITableViewCell它们渲染时一样宽。

我的 UIImageView 配置了contentModeasAspectFit并且我的单元格上有以下锚点:

在此处输入图像描述

我目前的尝试几乎就在那里:

还:

然而,在某些情况下,单元格太高了。图像呈现全宽,具有正确的纵横比,图像上方和下方的空间太大。

我还在控制台中收到如下错误:

在此处输入图像描述

0 投票
3 回答
2033 浏览

ios - 无法将类型“(_)->()”的值转换为预期的参数类型“CompletionHandler?” 使用 KingFisher Swift

我正在使用一个名为 KingFisher 的库从互联网下载图像。供参考:

https://github.com/onevcat/Kingfisher

https://cocoapods.org/pods/Kingfisher

imageView.kf.setImage(with: url)

这条指令完美无缺,但我想跟踪成功,所以我添加了完成处理程序,所以文档建议这个片段。

作为参考,这是我正在使用的备忘单:

https://github.com/onevcat/Kingfisher/wiki/Cheat-Sheet

添加此代码段时,我收到此编译错误:

无法将类型“(_)->()”的值转换为预期的参数类型“CompletionHandler?” (aka 'Optional<(Optional, Optional, CacheType, Optional) -> ()>')

0 投票
0 回答
99 浏览

ios - 不要使用 Kingfisher 夸大响应图像

我已切换到 Kingfisher 从 URL 下载图像文件。我曾经为此使用 Alamofire,我必须设置inflateResponseImagefalse这样我的图像才不会出现歪斜。但是,我找不到翠鸟的等价物。谁能帮我?这就是我的 Alamofire 代码:

0 投票
1 回答
1303 浏览

swift - Kingfisher LocalFileImageDataProvider DownsamplingImageProcessor 调整内存中数据的大小

由于Kingfisher介绍LocalFileImageDataProvider5.0. 我决定切换到Kingfisher从我的磁盘加载图像,而不是直接加载它们。正如他们所说,

它工作得很好。因为我来自磁盘的图像非常大(每个超过 1MB)。


所以问题是如果我使用DownsamplingImageProcessorin调整图像大小UICollectionView's Cell,我是否仍然能够访问“图像的详细信息”页面中的原始大小图像以显示全分辨率图像,仍然像这样使用

所以在“UICollectionView 页面”我可以这样使用它,

那么他们是在Kingfisher缓存机制中缓存了不同的图片缓存吗?因为他们似乎cacheKeyLocalFileImageDataProvider.


我是否需要cacheKey为这两个不同的页面自定义?