在 Swift 中使用 UIActivityIndicator-for-SDWebImage
Posted
技术标签:
【中文标题】在 Swift 中使用 UIActivityIndicator-for-SDWebImage【英文标题】:Using UIActivityIndicator-for-SDWebImage with Swift 【发布时间】:2015-09-30 13:48:23 【问题描述】:我正在使用SDWebImage
,我想添加一个加载指示器。我找到了UIActivityIndicator-for-SDWebImage
库,并尝试通过添加以下内容将其添加到我的 Swift 项目中:
#import "UIImageView+UIActivityIndicatorForSDWebImage.h"
到我的桥接头。由于某种原因,我在设置图像 URL 时仍然无法访问额外参数 usingActivityIndicatorStyle
。
有人知道我做错了什么吗?我尝试删除 .m 和 .h 文件并重新添加它们,但没有帮助。
【问题讨论】:
【参考方案1】:添加“use_frameworks!”在 Podfile 中
use_frameworks!
target '<YOUR TARGET>' do
.........
pod 'UIActivityIndicator-for-SDWebImage'
.........
end
在“Pods -> UIActivityIndicator-for-SDWebImage -> UIImageView+UIActivityIndicatorForSDWebImage.h”中替换:
#import "UIImageView+WebCache.h"
#import "SDImageCache.h"
与:
#import <SDWebImage/UIImageView+WebCache.h>
#import <SDWebImage/SDImageCache.h>
在“AppDelegate.swift”中添加
import UIActivityIndicator_for_SDWebImage
就是这样。
附:您应该更正 Pods,因为 UIActivityIndicator-for-SDWebImage 的作者在描述中写道:“......我真的不想让这个 repo 保持更新......”,他真的没有这样做。
【讨论】:
#importSwift 3 和 SDWebImage 4.0.0
这样就可以了,试试这段代码
let urlString = URL(string: "Your image URL")
yourImageView.sd_setIndicatorStyle(.gray)
yourImageView.sd_setShowActivityIndicatorView(true)
yourImageView.sd_setImage(with: urlString) (loadedImage, error, cacheType, url) in
yourImageView.sd_removeActivityIndicator()
if error != nil
print("Error code: \(error!.localizedDescription)")
else
yourImageView.image = loadedImage
【讨论】:
【参考方案3】:上面的答案有效
关注本期https://github.com/JJSaccolo/UIActivityIndicator-for-SDWebImage/pull/28
你会发现一个已经进行了更新的分叉
https://github.com/masterfego/UIActivityIndicator-for-SDWebImage
我也分叉了,
https://github.com/useeless37/UIActivityIndicator-for-SDWebImage
然后在你的 pod 文件中
pod 'UIActivityIndicator-for-SDWebImage', :git => 'https://github.com/useeless37/UIActivityIndicator-for-SDWebImage.git'
【讨论】:
以上是关于在 Swift 中使用 UIActivityIndicator-for-SDWebImage的主要内容,如果未能解决你的问题,请参考以下文章
swift 优雅地处理Swift中可本地化的字符串。注意:此代码在Swift 2中,需要在现代Swift中使用更新。
在 Swift 项目中使用 Objective C 类中的 Swift 类
在 Swift 项目中使用 Objective C 类中的 Swift 类