草庐IT

uicollectionviewcell

全部标签

ios - 尝试使用自定义布局进行屏幕外 UICollectionViewCells 预渲染

我有一个分页的UICollectionView,每页一个单元格。但是,我的UICollectionViewCells呈现速度很慢(第三方库,那里没有选项)。因此,作为优化,我需要预渲染当前页面左侧和右侧的单元格,以便滚动流畅。我所做的是,在我的自定义UICollectionViewLayout中,在检查应该返回哪些单元格的UICollectionViewLayoutAttributes之前将传递的rect设置为1点,请参见此处:-(NSArray*)layoutAttributesForElementsInRect:(CGRect)rect{CGRectoutsetRect=CGRec

ios - 多次调用 UICollectionView cellForItemAtIndexPath

我正在开发一个带有UICollectionView画廊的应用程序。我已将UICollectionViewFlowLayout子类化,并已启用pageEnabled属性。我的图库处理图像非常好,但每次我使用图片代码更改图片时,我也会对从该服务下载的每张图像进行评论。当我从一张图片更改为下一张或之前​​的图片时,我更改了一个property值,并在其customsetter中调用了一个方法来下载这些评论。问题是当我继续看下一张图片时,cellForItemAtIndexPath方法被调用了3次,第一次是下一张图片信息(我需要的),第二次是我所在的图片第三次再次使用下一个图像信息(我需要的)

ios - 用于删除 UICollectionViewCells 的类似跳板的动画

我正在尝试找出一种方法来动画化UICollectionViewCell的删除,类似于iOS7中的跳板。删除的单元格应该缩小到虚无,其余的单元格应该滑过以填充它的位置(滑动是重要的部分)。我试过:•将每个单元格的框架设置为前一个单元格的框架,如下所示:UICollectionViewCell*cell=[self.collectionViewcellForItemAtIndexPath:[NSIndexPathindexPathForItem:iinSection:0]];CGRectrect=[self.collectionViewcellForItemAtIndexPath:[NSI

ios - 调整 UICollectionViewCells 的大小以始终填充 UICollectionView

我有一个水平滚动的UICollectionView,其中UICollectionViewCells与CollectionView本身一样高,宽度是三分之一(所以一次适合三个)。CollectionView被分页并使用默认的流布局。单元格来自.xib文件并使用自动布局将内容保持在原位。我想做的是让CollectionView的高度在两个预定义的高度之间切换,并让单元格的高度始终填充可用空间,即使在动画期间也是如此。CollectionView动画是通过像这样将顶部约束动画化到它的父View来完成的,并且似乎可以工作:UIView.animateWithDuration(0.5,anima

ios - 无法访问 UICollectionViewCell 中的 UITextField

感谢阅读,我在UICollectionViewCell中有两个UITextFields(以及一些标签)。我可以在模拟器中选择两个文本字段,适用于iPhone6、6+、5、5s、4s,所有iOS8。当我连接我的iPhone,iPhone5ciOS7(非sim)时,我只能选择顶部UITextField的左上部分。答案会建议如何选择这两个文本字段,并探索其他可能无法选择文本字段的原因,以及可能的调试方法。对于那些想知道的人,一旦我让这个应用程序在ios7中100%运行,我就会升级到ios8。我尝试过的解决方案:MakesurethetextFieldisinsidetheknownsuper

ios - UICollectionViewCell 中的标签文本未更新

我试图在UICollectionViewCell加载后更改UICollectionViewCell中的UILabel的文本,当点击按钮。但标签不会在屏幕上更新。控制台显示标签的文本属性已更新,但标签似乎没有用新文本重新绘制。这是UICollectionViewCells的已知问题吗?也许是某种缓存问题?我是否需要重新加载单元格或整个CollectionView才能显示更新? 最佳答案 我遇到过类似情况,collectionView单元格中的UILabel更新正常。然后在对Storyboard进行一些修改后,UILabel在以编程方式

ios - iOS 中 PSTCollectionView 中的 didSelectItemAtIndexPath/didDeselectItemAtIndexPath

我正在使用PSTCollectionView处理UICollectionView图书馆。我必须创建一个网格,用户可以在其中选择和取消选择通过点击UICollectionViewCell获取图像。我必须像这样显示复选框选中单元格时的图像。如果单元格是uncheckedBox图像取消选择。我能够选择cell并显示复选框图像。并且也可以取消选择。但是当我选择下一个cell时,上一个取消选择cell也被选中并显示复选框图像。这是我在UICollectionViewCellsubClass中声明的方法-(void)applySelection{if(_isSelected){_isSelecte

ios - UICollectionView 最大单元间距?

我的Storyboard中有一个简单的UICollectionView设置,带有一个原型(prototype)单元格。我已将所有部分插图设置为10,顶部、左侧、底部和右侧。重要的一点是,我已将单元格和行的最小间距设置为5。当我运行应用程序并在我的CollectionView中有例如2个单元格时,单元格没有左对齐,每个单元格之间的间距为5px。相反,从左到右,每个单元格之间有一个20px的空间。为什么会这样?无论我将间距设置为多少,它始终是20px。知道为什么会这样吗?我想要的只是我的单元格按照我设置的方式间隔开,即5像素的间隙。编辑:我想到了一种更简单、更好的提问方式。我可以设置最大单

ios - 在 UICollectionView 中调用 reloadData 后未调用 cellForRowAtIndexPath

我有一个UICollectionView,它使用UICollectionViewCell的子类。最初,我的dataSource包含5个项目,当用户向下滚动时,我获取更多数据并将它们添加到我的dataSource,然后我调用reloadData.但只有3个项目是可见的。当我向上滚动时,我看不到其余的项目,只有一个空白区域。我注意到cellForRowAtIndexPath只会为这3个项目调用。当我导航到我的父View,然后返回到包含我的UICollectionView的View时,我可以看到所有项目。注意:我已经实现了layout:sizeForItemAtIndexPath函数,因为每

iOS UICollectionvView 单元格横向和纵向的不同布局

我想制作屏幕,当设备处于纵向时,CollectionViewCell应该填满屏幕的整个宽度,当设备旋转时,CollectionView在1个部分中显示2个单元格。为了更好地可视化,请参见下图。我试图使单元格宽度=设备宽度(对于纵向),但在横向单元格中显示在屏幕中央。是否可以使用CollectionView进行这样的设计?如果可能的话,我该如何实现呢?或者任何其他想法将不胜感激。 最佳答案 使用大小类以不同方式定位横向或纵向。看看这篇详细的文章gotoAddconstraintsforgenericsizeclass