当调用setImageWithURL时,它失败并跟随,
[UIImageView setImageWithURL:placeholderImage:]:无法识别的选择器发送到实例0x149a20 2011-12-14 18:11:38.060 [781:707]由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [UIImageView setImageWithURL:placeholderImage:] :无法识别的选择器发送到实例0x149a20'
我可以确认我已SDWebImage
正确包含项目和必需的标题,因为我可以成功使用SDWebImageManager.
以下是我调用UIImageView类别方法的代码 setImageWithURL
NSURL* url = [NSURL URLWithString:@"www.abc.com/abc.png"];
[cell.imageView setImageWithURL:url placeholderImage:[UIImage imageNamed:@"abc.png"]];
Run Code Online (Sandbox Code Playgroud) 我正在使用SDWebImage来异步映像下载器并支持缓存.
它工作得很好,除了有时图像在服务器上更新了同名,因此我需要从客户端设备缓存中清除它,但没有成功!
我在这里发现我必须使用"removeImageForKey",但Xcode无法识别它!
我正在使用以下代码来设置图像:
[imgPic setImageWithURL:[NSURL URLWithString:@"http://domain.com/image.jpg"] placeholderImage:[UIImage imageNamed:@"tmpPic.png"]];
Run Code Online (Sandbox Code Playgroud)
调用removeImageForKey的正确方法是什么?我需要导入什么而不是UIImageView + WebCache.h?
我想在我的项目中使用SDWebImage类.
我已经将类添加到我的项目中,当我尝试构建它时,我得到7个错误:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_MKAnnotationView", referenced from:
l_OBJC_$_CATEGORY_MKAnnotationView_$_WebCache in MKAnnotationView+WebCache.o
"_CGImageSourceCreateIncremental", referenced from:
-[SDWebImageDownloader connection:didReceiveData:] in SDWebImageDownloader.o
"_CGImageSourceUpdateData", referenced from:
-[SDWebImageDownloader connection:didReceiveData:] in SDWebImageDownloader.o
"_CGImageSourceCopyPropertiesAtIndex", referenced from:
-[SDWebImageDownloader connection:didReceiveData:] in SDWebImageDownloader.o
"_CGImageSourceCreateImageAtIndex", referenced from:
-[SDWebImageDownloader connection:didReceiveData:] in SDWebImageDownloader.o
"_kCGImagePropertyPixelHeight", referenced from:
-[SDWebImageDownloader connection:didReceiveData:] in SDWebImageDownloader.o
"_kCGImagePropertyPixelWidth", referenced from:
-[SDWebImageDownloader connection:didReceiveData:] in SDWebImageDownloader.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
我是XCode和Objective-c的新手,所以我不知道这个错误意味着什么.
任何人? …
我注意到UIImageView上的AFNetworking和SDWebImage类别具有相同的方法名称.
AFNetworking:
- (void)setImageWithURL:(NSURL *)url {
[self setImageWithURL:url placeholderImage:nil];
}
- (void)setImageWithURL:(NSURL *)url
placeholderImage:(UIImage *)placeholderImage
{
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPShouldHandleCookies:NO];
[request addValue:@"image/*" forHTTPHeaderField:@"Accept"];
[self setImageWithURLRequest:request placeholderImage:placeholderImage success:nil failure:nil];
}
- (void)setImageWithURLRequest:(NSURLRequest *)urlRequest
placeholderImage:(UIImage *)placeholderImage
success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image))success
failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure
{
...
}
Run Code Online (Sandbox Code Playgroud)
和SDWebImage
- (void)setImageWithURL:(NSURL *)url
{
[self setImageWithURL:url placeholderImage:nil options:0 progress:nil completed:nil];
}
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder
{
[self setImageWithURL:url placeholderImage:placeholder options:0 progress:nil completed:nil];
}
- …
Run Code Online (Sandbox Code Playgroud) 我想使用SDWebImage设置UIButton背景图像.
代码: -
[btn.imageView setImageWithURL:[NSURL URLWithString:@"image url here"]
placeholderImage:[UIImage imageNamed:@"placeholder"]];
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在使用SDWebImage在单元格内显示图像.但它完美地配合了UImageView的框架,我在下面的代码中做了:
NSString * s =[NSString stringWithFormat:@"url of image to show"];
NSURL *url = [NSURL URLWithString:s];
[cell.shopImageView sd_setImageWithURL:url];
Run Code Online (Sandbox Code Playgroud)
我的UIImageView大小为50x50.
例如,来自网址的图片尺寸为990x2100,我的图片在给定的框架中显示效果不佳.在这种情况下,当hight更大时,我想通过适当的高度比调整图像大小以匹配宽度50.
有没有办法从URL检查图像的大小而不下载它并以可怕的方式分配内存?
我正在使用SDWebImage库将远程图像加载到一个表视图中,该视图使用我创建的自定义单元类.我只是用
[cell.imageView setImageWithURL:url placeholderImage:[UIImage imageNamed:@"loading.jpg"]];
Run Code Online (Sandbox Code Playgroud)
in cellForRowAtIndexPath:现在的问题是它只在可见单元格中加载图像,而不是在屏幕上为我必须向上和向下滚动以加载图像的单元格.有没有办法我可以加载所有图像,而无需滚动表格视图.提前致谢!!
我一直在我的iPhone应用程序上使用SDWebImage来处理所有图像加载.我正在使用占位符图像,并且我想在加载后对新图像进行交叉淡入淡出或淡入淡出.我使用成功块来设置图像,它工作得很好.无论我尝试什么,图像都不会淡入.我已经尝试将动画代码发送回主线程,但这也无济于事.它只是立即加载......没有动画.
这是我的代码.有什么想法吗?
// load placeholder image
NSURL *url = ...
_imageView = [[UIImageView alloc] init];
[_imageView setImage:[UIImage imageNamed:@"loading.jpg"]];
// request image
SDWebImageManager *manager = [SDWebImageManager sharedManager];
[manager downloadWithURL:url
delegate:self
options:0
success:^(UIImage *image) {
[UIView transitionWithView:_imageView
duration:3.0
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
[_imageView setImage:image];
} completion:NULL];
}
failure:nil];
Run Code Online (Sandbox Code Playgroud) 我一直在我的iOS应用程序上使用SDWebImage(ver3.0),一旦它加载像Path2.0,Pinterest和Viddy,我想淡入uitableviewcell的新图像.感谢iOS SDWebImage淡入新图像,淡入淡出 - 本身就是在工作.但是,滚动tableview时,单元格中的图像会再次加载.这可能是由细胞的重复使用引起的.
这是我的代码.
[cell.userImageView setImageWithURL:url
placeholderImage:placeholderImage
completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {
if (!error) {
cell.userImageView.alpha = 0.0;
[UIView transitionWithView:cell.userImageView
duration:1.0
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
[cell.userImageView setImage:image];
cell.userImageView.alpha = 1.0;
} completion:NULL];
}
}];
Run Code Online (Sandbox Code Playgroud) 我已经在目标C中使用了SDWebImage,它对我很有用,但是现在我正在学习Swift并尝试集成最新版本的API,但我坚持每一步因为API在Objective C中并且没有提到的步骤使用使用Swift的API.我阅读了文档并创建了桥头文件,并包含了如下所需的文件:
#ifndef MyProject_Bridging_Header_h
#define MyProject_Bridging_Header_h
#import <SDWebImage/UIImageView+WebCache.h>
#import "UIImageView+WebCache.h"
#endif
Run Code Online (Sandbox Code Playgroud)
我已经添加了框架,以及,把我的应用程序内的SDWebImage项目作为解释这里
我真的很挣扎.请帮忙!作为参考,我添加了一个显示错误的图像!
sdwebimage ×10
ios ×5
objective-c ×3
uitableview ×3
uiimageview ×2
afnetworking ×1
asynchronous ×1
fade ×1
fadein ×1
image ×1
ios8.1 ×1
iphone ×1
lazy-loading ×1
nsurl ×1
swift ×1
uiimage ×1
xcode ×1
xcode4 ×1
xcode6 ×1