如果没有要加载的图像,如何更改tableview的大小

时间:2015-05-25 14:51:03

标签: ios objective-c uitableview uiimageview

我正在使用TableView和ImageView进行视图。我想从URL加载图像并根据需要更改ImageView组件的大小。但另一方面,如果URL中没有任何图像,我想隐藏ImageView组件并使TableView组件填满整个屏幕。

这是一个例子:

Screen

我怎么能这样做?

编辑:

毕竟我的代码就是这样,但是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;
                                     }

                                 });
                             }
                         }];

谢谢。

1 个答案:

答案 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;
}