我使用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