我使用UIImageView + AFNetworking获取图像URL并使用该图像调整大小,如果大小很大。如果规模大,我需要在UIImageView + AFNetworking成功阻止调整图像大小并返回图像高度来调整单元格高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
执行和调整返回块之前返回问题的高度返回图像的高度。我想等到我在成功块中进行的过程。完成并返回方法中的图像大小。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
UIImageView *ivImage = [[UIImageView alloc]init];
__block BOOL isResized = NO;
[ivImage setImageWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[[marrMainNewsFeed objectAtIndex:indexPath.row] valueForKey:@"image"]]] placeholderImage:[UIImage imageNamed:@"placeholder.png"] success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
// cell.ivImage.image = image;
NSLog(@"image size %f",image.size.width);
if (ivImage.image.size.width >= SCREEN_WIDTH - 10) {
// I resize my image by calling following method
ivImage.image = [CommonFunctions imageWithImage:ivImage.image scaledToMaxWidth:SCREEN_WIDTH maxHeight:0];
ivImage.frame = CGRectMake(ivImage.frame.origin.x, ivImage.frame.origin.y, SCREEN_WIDTH - 4, ivImage.image.size.height);
isResized = YES;
ivImage.image = image;
// height = ivImage.image.size.height;
} else {
ivImage.image = image;
ivImage.contentMode = UIViewContentModeCenter;
// height = ivImage.image.size.height;
}
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
NSLog(@"Request failed with error: %@", error);
}];
NSLog(@"new Height %@ for index %@",[email protected]"YES":@"NO",indexPath);
return height + 350;
}
返回首先被触发,然后图像被调整大小并给出图像的高度。我想等到调整大小完成后再返回单元格的高度。
希望我会得到丰硕的成果
我注意到您没有接受任何问题上的答案(勾号图标)。如果你觉得他们没有充分回答这个问题,请尽量发表评论。 – 2014-09-24 10:11:12