UIImageView 没有可见的@interface 声明选择器 sd_setShowActivityIndicatorView 并且未检测到 sd_setIndicatorStyle

no visible @interface for UIImageView declares the selector sd_setShowActivityIndicatorView and sd_setIndicatorStyle is not detected

很奇怪,sd_setImageWithURL 可以正常工作,但在 sd_setShowActivityIndicatorView:YESsd_setIndicatorStyle 中出现错误。

低于我所做的。

[cell.cellImgView sd_setShowActivityIndicatorView:YES];
[cell.cellImgView sd_setIndicatorStyle:UIActivityIndicatorViewStyleGray];

[cell.cellImgView sd_setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://img.youtube.com/vi/%@/hqdefault.jpg",[[[galleryDic objectForKey:@"data"] valueForKey:@"Video_id"] objectAtIndex:indexPath.row]]] placeholderImage:[UIImage imageNamed:@"youtube-video"] ];

请看下图:

导入以下文件

#import "UIImageView+WebCache.h"

#import "UIImageView+UIActivityIndicatorForSDWebImage.h"

SDWebImage>UIImageView+WebCache.h 中没有像 sd_setShowActivityIndicatorViewsd_setIndicatorStyle 这样的方法,这就是为什么 UIImageView 没有显示可见的@interface 声明未检测到选择器 sd_setShowActivityIndicatorViewsd_setIndicatorStyle

而不是使用以下内容。

 [cell.cellImgView setShowActivityIndicatorView:YES]; 
 [cell.cellImgView setIndicatorStyle:UIActivityIndicatorViewStyleGray];

UIImageView+WebCache.h

中有这些方法
/**
 *  Show activity UIActivityIndicatorView
 */
- (void)setShowActivityIndicatorView:(BOOL)show;

/**
 *  set desired UIActivityIndicatorViewStyle
 *
 *  @param style The style of the UIActivityIndicatorView
 */
- (void)setIndicatorStyle:(UIActivityIndicatorViewStyle)style;

我现在想通了,好吧,我必须和其他人一起导入 #import "UIView+WebCache.h" 然后我使用了以下内容:

[cell.cellImgView sd_setShowActivityIndicatorView:YES];
[cell.cellImgView sd_setShowActivityIndicatorView:UIActivityIndicatorViewStyleGray];

此外,我删除了以前手动集成的 SDWebImage 文件夹,然后我再次通过“POD”安装了它,现在它可以正常工作了。

我迁移到 4.0 版本。

#import <SDWebImage/UIView+WebCache.h>

对于 2019 年遇到此问题的任何人

sd_setShowActivityIndicatorView 已在 SDWebImage v5

中删除

改用这个

imageView1.sd_imageIndicator = SDWebImageActivityIndicator.gray
//or
imageView2.sd_imageIndicator = SDWebImageProgressIndicator.`default`
//or
imageView2.sd_imageIndicator = SDWebImageActivityIndicator.medium //large, small, gray ...