大佬教程收集整理的这篇文章主要介绍了ios – 根据UICollectionView中的图像动态更改单元格大小,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
-(void)setupCollectionView{ [self setupPageControlView]; self.screensCollectionView.delegate=self; self.screensCollectionView.datasource=self; [self.screensCollectionView registerNib:[UINib nibWithNibName:@"FGAppScreensCollectionViewItemCell" bundle:nil] forCellWithReusEIDentifier:@"screenCell"]; UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init]; [flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal]; [flowLayout setMinimumInteritemSpacing:0.0f]; [flowLayout setMinimumLinespacing:0.0f]; [flowLayout setItemSize:CGSizeMake(165,255)]; //[self.screensCollectionView setPagingEnabled:YES]; [self.screensCollectionView setCollectionViewLayout:flowLayout];
}
对于cellForRowATindexPath我下载这样的图像:
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemATindexPath:(NSIndexPath *)indexPath{ static NSString *cellIdentifier = @"screenCell"; FGAppScreensCollectionViewItemCell *cell = [collectionView dequeueReusableCellWithReusEIDentifier:cellIdentifier forIndexPath:indexPath]; NSURLrequest *urlrequest = [NSURLrequest requestWithURL:[NSURL URLWithString:[self.imageURLArray objectATindex:indexPath.row]]]; UIActivityInDicatorView *spinner = [[UIActivityInDicatorView alloc] initWithActivityInDicatorStyle:UIActivityInDicatorViewStyleGray]; [spinner startAnimaTing]; [spinner setFrame:CGRectMake(50,100,20,20)]; [cell.contentView addSubview:spinner]; [cell.screenImageView setImageWithURLrequest:urlrequest placeholderImage:nil success:^(NSURLrequest *request,NShttpURLResponse *response,UIImage *imagE) { //STOP THE SPINNER for (UIView* view in [cell.contentView subviews]) { if ([view isKindOfClass:[UIActivityInDicatorView class]]) { [view removeFromSuperview]; } } cell.screenImageView.image = image; } failure:^(NSURLrequest *request,NSError *error) { // }]; [cell.screenImageView setImageWithURL:[NSURL URLWithString:[self.imageURLArray objectATindex:indexPath.row]]]; if (self.delegatE) { UITapGestureRecognizer* g = [[UITapGestureRecognizer alloc] initWithTarget:self.delegate action:@SELEctor(showPopUpImageView:)]; [cell.screenImageView addGestureRecognizer:g]; } return cell;
}
但是,集合视图中显示纵向和横向图像.肖像图像显示得很好,但在集合视图中景观图像看起来很小.我需要做的是根据图像大小调整单元格大小,以便填充正确的宽高比?
我添加了如下所示的方法,但问题是它在开始时一次调用所有单元格,并且一旦我在cellForRowATindexPath方法中下载图像就不会被调用:
- (CGSizE)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemATindexPath:(NSIndexPath *)indexPath
return CGSizeMake(165,255);
}
以上是大佬教程为你收集整理的ios – 根据UICollectionView中的图像动态更改单元格大小全部内容,希望文章能够帮你解决ios – 根据UICollectionView中的图像动态更改单元格大小所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。