问题标签 [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.
ios - 主线程阻塞滚动和翠鸟设置图像
我一直在运行缓慢的滚动性能,并且我注意到当我滚动并setImage
使用非缓存图像调用时,下载发生时性能滞后。
我的理解是翠鸟在后台线程上下载这些,然后在主线程上显示它们,但主线程似乎暂时被阻止了。删除对.transition
情况没有帮助。
关于如何提高我的滚动性能的任何想法?谢谢
ios - 翠鸟加载缓存图像
我的 API 返回 2 种类型的照片:小和大
我使用翠鸟加载照片,我总是先加载小照片。当我加载大照片时,我想实现这一点
我怎样才能正确地使用翠鸟实现这一目标
ios - 如何将 KingFisher 库用于资产文件夹 Swift 中的图像?
我正在使用 kingfisher 库,但我的问题是我不能将它用于存储在资产中的图像 - 所有 kingfisher 方法都需要 url,那么我如何将它用于资产?
ios - UITableview 部分 - 如何正确重新计算高度?
视频:
正如您在视频中看到的那样,我遇到了问题。图像高度约束被破坏,导致标签也缺少高度。它们位于 tableview (class UITableHeaderFooter
) 部分。我曾经automaticDimension
计算过它的高度,结果得到了纠正。
这是图像视图约束。(默认高度约束为 184 并且在运行时更新取决于比率。)
https://uphinhnhanh.com/image/SAezyz
和标签约束:
https://uphinhnhanh.com/image/SAeT5Y
问题发生在我打电话table reload
重新配置剖面视图数据和高度然后下载图像之后。我收到了损坏的约束警告。Xcode 打破了导致问题的 imageview 高度约束。
我注意到这'UIView-Encapsulated-Layout-Height'
是估计高度。
获取代码很简单,因为我使用的是 Kingfisher
所以我想问一下如何正确修复约束中断?
谢谢你。
swift - 翠鸟:没有这样的模块“CommonCrypto”
我已经安装了最新版本的Kingfisher
ie pod 'Kingfisher', '~> 5.0'
,但是当我尝试构建我的项目时,我收到以下编译错误:
No such module 'CommonCrypto' String+MD5.swift
我不知道为什么会发生此错误。
Xcode 版本:9.4.1
平台:ios,'10.0'
ios - UITableView 在滚动或重新加载 tableviewcell 之前不显示远程图像
我正在使用Kingfisher下载和缓存远程图像。
我想将这些图像渲染成UITableViewCell
目前图像在我滚动之前不会显示。
我怀疑这是因为初始图像大小为零,一旦我滚动单元格就会重绘并渲染图像。
为了否定这个问题,我调用 tableView.reloadRows(at: [indexPath], with: .none)
了 Kingfisher 的完成处理程序
我已经应用了一个固定高度和宽度的简单占位符,以便在应用图像之前为单元格提供一些高度。
我不确定这是最好的方法,我不喜欢这样称呼tableView.reloadRows(at: [indexPath], with: .none)
它有点……hacky。
此外,在重绘单元格之前,我有空白区域、占位符,然后在应用正确的图像/大小时跳转。
在应用图像之前,是否可以简单地阻止单元格可见?
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) -> ()>')
ios - 不要使用 Kingfisher 夸大响应图像
我已切换到 Kingfisher 从 URL 下载图像文件。我曾经为此使用 Alamofire,我必须设置inflateResponseImage
为false
这样我的图像才不会出现歪斜。但是,我找不到翠鸟的等价物。谁能帮我?这就是我的 Alamofire 代码:
swift - Kingfisher LocalFileImageDataProvider DownsamplingImageProcessor 调整内存中数据的大小
由于Kingfisher
介绍LocalFileImageDataProvider
自5.0
. 我决定切换到Kingfisher
从我的磁盘加载图像,而不是直接加载它们。正如他们所说,
它工作得很好。因为我来自磁盘的图像非常大(每个超过 1MB)。
所以问题是如果我使用DownsamplingImageProcessor
in调整图像大小UICollectionView's Cell
,我是否仍然能够访问“图像的详细信息”页面中的原始大小图像以显示全分辨率图像,仍然像这样使用,
所以在“UICollectionView 页面”我可以这样使用它,
那么他们是在Kingfisher缓存机制中缓存了不同的图片缓存吗?因为他们似乎cacheKey
在LocalFileImageDataProvider
.
我是否需要cacheKey
为这两个不同的页面自定义?