gpt4 book ai didi

ios - 具有动态高度的 UICollectionViewCell 使用 NSURL 进行图像下载

转载 作者:行者123 更新时间:2023-12-01 18:16:17 24 4
gpt4 key购买 nike

嗨,目前,我正忙于我的一个有这个概念的项目
像 Pinterest 这样的动态 UI

我需要像上图这样的 UI。为此,我使用了 UICollectionView并试图给出动态高度
对于每一个细胞。我无法获得任何成功来实现像这样的 UI
这。我也使用了一些定制的UICollectionView
PSCollectionView”、“PSTCollectionView”等。

在所有示例中,我发现关于图像及其
高度。他们都从本地来源获取图像并存储
本地存储中图像的高度或直接从
我需要使用 NSURL 从 Web 服务器获取图像的图像
然后我可以给每个单元格的高度..但是我怎么能
做这个?关于这个的任何想法......如果你有任何想法请告诉我
适当的解决方案。

引用图片如下。

enter image description here

最佳答案

我想对我现有的具有动态图像的项目采用这种方法,并且您将获得最快的响应。

-(void)fillSizeArray
{
for (int i=0; i<[self.arrGCCategory count]; i++)
{
NSNumber *width = [NSNumber numberWithFloat:200];
NSNumber *height = [NSNumber numberWithFloat:200];

NSString *urlString = [[self.arrGCCategory objectAtIndex:i] valueForKey:@"Photo"];
NSURL *imageFileURL = [NSURL URLWithString:urlString];
CGImageSourceRef imageSource = CGImageSourceCreateWithURL((__bridge CFURLRef)imageFileURL, NULL);
if (imageSource) {
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithBool:NO], (NSString *)kCGImageSourceShouldCache, nil];
CFDictionaryRef imageProperties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, (__bridge CFDictionaryRef)options);
if (imageProperties) {
width = (NSNumber *)CFDictionaryGetValue(imageProperties, kCGImagePropertyPixelWidth);
height = (NSNumber *)CFDictionaryGetValue(imageProperties, kCGImagePropertyPixelHeight);
NSLog(@"Image dimensions: %@ x %@ px", width, height);
CFRelease(imageProperties);
}
}
CGSize size = CGSizeMake([width floatValue], [height floatValue]);
[self.cellHeights addObject:[NSValue valueWithCGSize:size]];
}
}

#pragma mark - CHTCollectionViewDelegateWaterfallLayout

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
CGSize size = [[self.cellHeights objectAtIndex:indexPath.row] CGSizeValue];
return size;
}

关于ios - 具有动态高度的 UICollectionViewCell 使用 NSURL 进行图像下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21723943/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com