草庐IT

uiCollectionView

全部标签

ios - UICollectionView 在插入或删除很多项目时非常慢

我正在尝试从CollectionView中插入和删除大量项目(例如20,000),并且该操作需要很长时间。我创建的测试夹具由以下部分组成:UICollectionView除了数据源之外没有任何配置。默认UICollectionViewFlowLayout。根据BOOL变量返回10K或30K项的数据源。切换该变量的按钮。当设置为YES时,将向数据源添加20K项(仅通过更改numberOfItemsInSection:)和包含20K项的insertItemsAtIndexPaths:。当设置为NO时,deleteItemsAtIndexPaths:会调用20K项。数据源中的单元格配置除了将

IOS - 粘性 UICollectionView header (如 Apple App Store)

我正在尝试创建一个类似于AppStore中的标题。当用户向下拖动时,标题保持在原位,只有单元格向下滚动。但是当用户向上拖动时,标题和单元格都会向上滚动。到目前为止我所做的是设置我的collectionView图片的背景View我想贴在顶部并设置contentInsets的collectionView在图像下方。这样当用户向下拖动时,图像将留在原地。但是当用户向上拖动时,我的单元格会越过图像(我希望图像与单元格一起向上滚动)。我想我做错了。谢谢。UIView*back=[UIViewnew];UIImageView*backImage=[[UIImageViewalloc]initWit

ios - 如何在旋转前获取 UICollectionView 单元格的大小

我有一个UICollectionView,其宽度是其父级的百分比。当它旋转时,我需要知道它的大小,所以我可以使布局无效并将CollectionView单元格重新绘制为新的全宽。我使用的是viewWillTransitionToSize:withTransitionCoordinator:方法,但它返回的大小是整个屏幕的大小。有什么简单的方法可以在方向更改生效之前获取UICollectionView的新框架吗? 最佳答案 overridefuncviewWillTransitionToSize(size:CGSize,withTran

ios - UICollectionView 正在显示,但单元格未快速显示

我以编程方式创建了一个collectionView(没有Storyboard)。我将背景颜色设置为红色,并且显示正常。但是细胞没有显示出来。有谁知道为什么细胞不显示?privateletcellId="cellId"classInfoViewShow:NSObject,UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout{privateletcellHeight:CGFloat=80varcollectionView:UICollectionView?letlayou

ios - 在 sizeForItemAtIndexPath 中调用 UICollectionView Cell

我希望能够在sizeForItemAtIndexPath函数中调用我的UICollectionViewCell类。像这样:funccollectionView(_collectionView:UICollectionView,layoutcollectionViewLayout:UICollectionViewLayout,sizeForItemAtindexPath:IndexPath)->CGSize{letcell=MyCollectionViewCell()letitemHeights=cell.titleLabel.frame.size.height+cell.subtitl

ios - 在选择时为 uicollectionview 单元格设置动画

我已经创建了一个自定义布局,并像这样在layoutAttributesForItemAtIndexPath中设置我的单元格位置属性attributes.center=CGPointMake((size.width/2-100)+100,(size.height/2-150)+100);我想在选中时为单元格设置动画。复制我们使用initialLayoutAttributesForAppearingItemAtIndexPath和finalLayoutAttributesForDisappearingItemAtIndexPath获得的那种动画。我想在选择和取消选择单元格时执行此操作。例如

ios - UICollectionView 显示空单元格

我有一个显示图像数组的UICollectionView。单元格中的图像显示为白框,而不是真实图像。我从另一个View复制并粘贴了这段代码,它在另一个View中工作得很好......但不知何故在另一个View中它显示所有图像就像一个白框。显示的框等于应显示的图像数。所以信息传递正确。图像显示为小白框,但当我单击它们时,它们会将所选图像显示到我放置在其他地方的另一个UIImage元素中(参见图1,左侧的绿色方block清除按钮的变化取决于触摸哪个白细胞)。谁能发现为什么单元格中的UIImage无法正确显示?也许值得一提的是我在同一View中也有一个TableView//inviewDidL

ios - 如何在 UICollectionview 中显示前 9 个图像?

我有一个包含50个图像url的图像urlplist。我试图在UICollectionview中显示它,但它变得太慢了。我一次显示9个单元格(图像),如3x3(3行和3列).我怎样才能在加载时显示前9张图片并在下一次滚动时显示接下来的9张图片。这可能吗?我试过SDWebImages加载图像,它不适合我。请帮助我。CODEINSIDEcollectionViewcellForItemAtIndexPath:()评论中的代码需要大量时间来加载图片,该代码用于从文档目录加载图片,如果图片不存在,那么我将显示在一个占位符图片中cell=nil;cell=(GMMCollectionViewCel

ios - 带有 UICollectionFlowLayout 的 UICollectionView 未在正确位置显示单元格

我创建的测试项目中有一个UICollectionView,它不使用InterfaceBuilder。当我运行应用程序时,我通过数据源提供给CollectionView的测试View显示在(0,0)附近的右上角。我一辈子也弄不明白为什么。我尝试向单元格的内容View添加约束。我也试过弄乱iteminsets委托(delegate)函数,但这似乎没有什么区别。我错过了什么吗?这是测试ViewController的代码。#import"TestViewViewController.h"@interfaceTestViewViewController()@property(strong,non

ios - 滚动时 UICollectionView 选择丢失

我有一个简单的UICollectionView启动并运行并拥有它,因此您可以选择一个单元格然后保存您的选择。但猜猜怎么了?我有问题!将选定的单元格滚动到屏幕外并重新打开后,它会失去选择。表面上很简单。我怎样才能阻止它?这与细胞重用有关吗?这是我的代码:-(UICollectionViewCell*)collectionView:(UICollectionView*)collectionViewcellForItemAtIndexPath:(NSIndexPath*)indexPath{staticNSString*cellIdentifier=@"AircraftConfigurati