Я хочу создать галерею изображений, не изменяя соотношение сторон изображений. Изображения имеют разные размеры. Я использую UICollectionView
и позиционирую UIImageView
внутри ячейки. Я использую ниже код, чтобы получить размер изображения. но он всегда возвращает размер 0.IOS: изменить UICollectionView Размер ячейки в соответствии с размером изображения
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
NSString* url = [selectedImages objectAtIndex:indexPath.row];
UIImageView *thumb;
ALAssetsLibraryAccessFailureBlock failureBlock = ^(NSError *myError) {
NSLog(@"failed loading asset");
};
ALAssetsLibraryAssetForURLResultBlock resultBlock = ^(ALAsset *myAsset) {
[thumb setImage:[UIImage imageWithCGImage:[myAsset aspectRatioThumbnail]]];
};
ALAssetsLibrary *lib = [[ALAssetsLibrary alloc] init];
[lib assetForURL:[NSURL URLWithString:url] resultBlock:resultBlock failureBlock:failureBlock];
NSLog(@"%f,%f",thumb.image.size.height,thumb.image.size.width);
return thumb.image.size;
}
он не будет работать, canno t возвращает значение внутри этого блока. – Volty
проверьте этот 'http: // omegadelta.net/2011/05/10/how-to-wait-for-ios-methods-with-completion-blocks-to-finish /' –