我正在使用TableView和ImageView进行视图。我想从URL加载图像并根据需要更改ImageView组件的大小。但另一方面,如果URL中没有任何图像,我想隐藏ImageView组件并使TableView组件填满整个屏幕。
这是一个例子:
我怎么能这样做?
编辑:
毕竟我的代码就是这样,但是Image没有加载到UIImageView:S
中NSURL *imageURL = [NSURL URLWithString:[[bannerArray objectAtIndex:0] cvp_html]];
[SDWebImageDownloader.sharedDownloader downloadImageWithURL:imageURL
options:0
progress:^(NSUInteger receivedSize, long long expectedSize)
{
// progression tracking code
}
completed:^(UIImage *image, NSData *data, NSError *error, BOOL finished)
{
if (image && finished)
{
NSLog(@"IMG DOWNLOAD COMPLETED");
dispatch_async(dispatch_get_main_queue(), ^(){
iv_banner = [[UIImageView alloc] initWithImage: image];
NSData *imgData = UIImageJPEGRepresentation(image, 0);
int heightOfTheTopButtons = 50;
if([imgData length] > 0) {
CGRect newFrame = CGRectMake(0, (heightOfTheTopButtons), self.view.frame.size.width, (self.view.frame.size.height-(heightOfTheTopButtons)) );
tableview.frame = newFrame;
}
});
}
}];
谢谢。
答案 0 :(得分:1)
您可以检查图像数据是否大于0。
UIImage * image = imageFromUrl;
NSData *imgData = UIImageJPEGRepresentation(img, 0);
if([imgData length] > 0) {
CGRect newFrame = CGRectMake(0, (heightOfTheTopButtons), self.view.frame.size.width, (self.view.frame.size.height-(heightOfTheTopButtons));
tableView.frame = newFrame;
}