- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在表格 View 中有一个单元格(行)有一个图像,每当我需要更改我调用的图像时:
-(void)loadThumbnailWithPath:(NSString *)path {
NSLog(@"loadThumbnailWithPath:%@",path);
UIImage* placeholder = [UIImage imageNamed:@"ic_courselist_placeholder.png"];
if (path == nil || [path length] == 0) {
//default
[self.imageHeader setImage:placeholder];
return;
}
//load
NSURL* url = [NSURL URLWithString:path];
NSURLRequest* request = [NSURLRequest requestWithURL:url];
__weak CSImageCell* weakComponent = self;
//
[self.imageHeader setImageWithURLRequest:request
placeholderImage:placeholder
success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image){
//
NSLog(@"-OK-\nrequest=%@\nresponse=%@",request,response);
weakComponent.imageHeader.image = image;
[weakComponent setNeedsLayout];
//
}
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
//
//TODO: ERror logging
NSLog(@"Failed to load image:\nrequest=%@\nresponse=%@\nerror=%@",request,response,[error description]);
//
}
];
}
我在屏幕加载并向左/向右滑动时执行此操作,问题是它停止工作,加载图像(始终是图像而不是占位符)并且保留相同的图像。日志显示成功和新图像的 url,但显示相同。
成功日志也始终为请求和响应返回 null - 如果这很重要。 更新: null 并非总是如此,但在后续调用以检索同一图像时,它会在图像来自缓存时出现。
这是我正在使用的图像的链接(文件和位置):
更新
图像在表格的行中,表格布局用于添加通过较大标签调整大小和下推内容的能力。所以第一行是标题图片,然后是标题,然后是日期等等,它总是有相同数量的单元格,每个单元格出现一次。在滑动时,我正在更改用于填充屏幕的数据。在此更改(使用表格)之前,一切都很好,但较长的标题与日期重叠。在更改为表格布局之前不存在此问题。当我将 UIImageView
放在表格之外时,它又开始工作了,所以我假设 UITableView
或 UITableViewCell
与它有关。
更新 2
这是 sample project (zip)这显示了我面临的问题。
更新 3
问题似乎与在自定义表格单元格中调用 sizeToFit
触发然后在表格 View 上调整大小请求有关,该请求调用 reloadRowsAtIndexPaths:withRowAnimation:
之后 tableView:heightForRowAtIndexPath:
执行,一旦此调用被注释掉,图像就会加载。
最佳答案
您需要返回主线程才能修改与 UI 相关的内容。
[self.imageHeader setImageWithURLRequest:request
placeholderImage:placeholder
success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image){
//
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"-OK-\nrequest=%@\nresponse=%@",request,response);
weakComponent.imageHeader.image = image;
[weakComponent setNeedsLayout];
//
});
}
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
//
//TODO: ERror logging
NSLog(@"Failed to load image:\nrequest=%@\nresponse=%@\nerror=%@",request,response,[error description]);
//
}
];
关于ios - setImageWithURLRequest 加载成功但显示相同的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24504344/
我正在使用此函数循环下载一些图像 for(int i=0;i
我在表格 View 中有一个单元格(行)有一个图像,每当我需要更改我调用的图像时: -(void)loadThumbnailWithPath:(NSString *)path { NSLog(
如何在图片下载过程中显示进度条? 我的代码在这里: [picView setImageWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWi
我尝试在 tableViewCell 上使用 AFNetworking 的 setImageWithURLRequest 在 ImageView 上设置图像。如果我不在方法中包含 success 和
我想在我的一个应用程序中设置表格 View 单元格图像。我使用 AFNetworking (1.2.1) 并使用 setImageWithURLRequest 实现。 我设置图像的代码如下所示:
我正在使用 AFNetworking 的 UIImageView+AFNetworking.h 将在线图像异步加载到 UIImageView 上。 当我使用 setImageWithURLReques
我正在使用 setImageWithURLRequest:placeholderImage:success:failure 从 URL 下载图像,图像下载工作正常。我遇到的问题是,当我将下载的图像设置
我在当前的一个项目中下载图像时使用了这段代码,但它不适用于 AFNetworking 2.0。我尝试通过 AFImageResponseSerializer,但找不到要使用的正确代码。 [cell.p
我将 RestKit (0.20.0) 用于我的 Rest Api 实现 - 所有 GET、POST 等。GET 返回一些图像的 url。我正在使用 UIImageView+AFNetworking
我正在使用 AFNetworking 的 UIImageView 类别,并且在我的响应代码状态中不断收到 0 响应代码。知道这是为什么吗?这是我的做法: [self.newsPicture_ setI
我的 tableView:cellForRowAtIndexPath 方法中使用了以下代码。我使用 AFNetworking 的 setImageWithURLRequest 来显示单元格的图像。但是
在使用 UIImageView+AFNetworking 时,有没有人有一个很好的解决方案来获取下载进度?类别和 AFNetworking 3.0 . 这category ,我在 3.0 之前的版本中
我正在尝试使用 AFNetworking 2.0 从 url 异步获取图像 我的问题是既没有调用成功也没有调用失败 我已经在浏览器中检查了我的 URL,所以问题不在这里 UIImageView *im
我已经在 Xcode 5 上安装了 AFNetworking 2.1.0 和 CocoaPods。 //ViewController.h #import #import 在 UIImageview
我将表与 dequeueReusableCellWithIdentifier 和 afnetworking+uiimageview 一起使用。我的一些细胞有图像,有些没有。如果我在加载图像之前滚动表格
我正在尝试在 Collection View 中显示来自 url 的图像。到目前为止,我一直在为此使用 AFNetworking,但现在我正在转向 Alamofire。我找不到像使用“setImage
我是一名优秀的程序员,十分优秀!