背景我搜索了SO和苹果论坛。很多人都在谈论collectionviewcellwithimage的性能。他们中的大多数人说,自从在主线程中加载图像以来,滚动就滞后了。通过使用SDWebImage,图像应该在单独的线程中加载。但是,它仅在iPad模拟器的横向模式下存在延迟。问题描述在纵向模式下,CollectionView为每行加载3个单元格。而且它没有滞后或微不足道的延迟。在横向模式下,CollectionView为每行加载4个单元格。并且帧率有明显的滞后和下降。我已经用核心动画检查了仪器工具。当出现新的单元格时,帧率下降到大约8fps。我不确定是哪个行为导致CollectionVie
我已将UILongPressGestureRecognizer附加到CollectionView,目的是用户将手指放在表格中的单元格上并询问他们是否要删除它。我遇到的问题是我无法像使用表格单元格(使用indexPathForRowAtPoint)那样获取indexPath,是否有等效项?如果不是,我已经考虑过将手势添加到每个单元格,但是我如何识别哪个手势(我看不到手势的“标签”),例如我可以在选择器中发送indexPath.item吗?还是其他什么方法? 最佳答案 您在UICollectionView上得到了同样的东西。根据docu
我有一个实现延迟加载的UICollectionView,-(void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView{[selfloadImagesToVisiableCells];}效果不错。然而,问题是在任何滚动之前,前几个单元格显示占位符图像。因此,我尝试在检索要在下面的UICollectionView中显示的json文件的回调中调用loadImagesToVisiableCells,-(void)handleReceivedData:(NSArray*)resultsreturnArrayOrDic:(NSNumbe
刚刚开始使用UICollectionView。我使用IB在UIViewController中创建了一个简单的UICollectionView。它随分页水平滚动。我在UICollectionView中放置了一个简单的UICollectionViewCell。我为单元格设置了重用标识符。我在UICollectionViewCell中放置了一个标记为100的UILabel。在viewDidLoad中,我调用:[_collectionViewregisterClass:[UICollectionViewCellclass]forCellWithReuseIdentifier:@"Thing"]
我有一个带有自定义UICollectionViewCell的UICollectionView。UICollectionView水平滚动,每个单元格占据所有可见屏幕。UICollectionViewCell有一个UIViewsubview,后者又有一个UIScrollViewsubview。UIScrollView旨在垂直滚动,但它根本不滚动。我试过设置ScrollView的contentSize但没有成功。我怀疑UIScrollView没有收到任何触摸事件,而不是尺寸问题。有什么建议吗?编辑>>我现在确定这是一个事件问题,而不是UIScrollView的任何问题。我现在已经覆盖了UIC
我正在实现一个启用了多选的UICollectionView。我的一些单元格是可选择的,有些则不是。这是事件链:我通过点击它们并返回YES来选择一些单元格shouldHighlightItemAtIndexPath:shouldSelectItemAtIndexPath:我尝试通过点击选择一个不可选择的单元格(不可选择的方面是通过将NO返回到shouldSelectItemAtIndexPath:来实现的)结果:所有选定的单元格都被取消选择,并且对它们调用了didDeselectItemAtIndexPath:。注意:shouldDeselectItemAtIndexPath:未被调用。
我想以相反的顺序填充UICollectionView,以便首先填充UICollectionView的最后一项,然后填充倒数第二个,依此类推。实际上我正在应用动画并且项目正在一个接一个地出现。因此,我希望最后一项首先出现。 最佳答案 swift4.2我找到了一个简单的解决方案并帮助我在CollectionView中首先显示最后一项:viewDidLoad()方法内部:collectionView.transform=CGAffineTransform.init(rotationAngle:(-(CGFloat)(Double.pi))
我有一个从Storyboard创建的UICollectionView,我想在View中每行有3个项目。我设法使用以下方法做到了这一点:-(CGSize)collectionView:(UICollectionView*)collectionViewlayout:(UICollectionViewLayout*)collectionViewLayoutsizeForItemAtIndexPath:(NSIndexPath*)indexPath{returnCGSizeMake(collectionView.frame.size.width/3.6,(collectionView.fram
这是我的代码:-(void)viewDidLoad{[superviewDidLoad];...UICollectionViewFlowLayout*layout=[[UICollectionViewFlowLayoutalloc]init];[layoutsetItemSize:CGSizeMake(160,160)];[layoutsetMinimumInteritemSpacing:5.f];[layoutsetScrollDirection:UICollectionViewScrollDirectionHorizontal];_photoPicker=[[UICollectio
我从未使用过UICollectionViewController,我认为它们与UITableViewController有点相似,但令我惊讶的是,我无法将UI元素添加到我的自定义UICollectionViewCell的方式与我处理自定义UITableViewCell的方式相同。事实上,我可以在InterfaceBuilder中添加标签、按钮等,但是当我运行应用程序时,单元格显示为空。我在viewDidLoad方法期间通过调用(void)registerClass:(Class)cellClassforCellWithReuseIdentifier:(NSString*)identif