Tag: uicollectionview

在select上animationuicollectionview单元格

我已经创build了一个customlayout,并像这样在layoutAttributesForItemAtIndexPath中设置了我的单元格位置属性 attributes.center = CGPointMake((size.width/2 – 100) + 100, (size.height/2 – 150) +100); 我想在选中时为单元格设置animation。 复制我们用initialLayoutAttributesForAppearingItemAtIndexPath & finalLayoutAttributesForDisappearingItemAtIndexPath获得的animationfinalLayoutAttributesForDisappearingItemAtIndexPath 。 我想这样做,当一个单元格被选中和取消select。 例如: 单元格A在位置0,0 。 单元格B在位置50,100 。 如果我select单元格B,我想将其设置为0,0 。 同时使单元格A的值为50,100 。 基本上切换位置,但animation。

ios UICollectionView – 设置自动高度

我正在使用UICollection视图来创build3x4matrix的button。 它在iPhone4中的好看,具有很小的高度。 集合视图也不滚动,因为它在可用空间中显示3x4matrixbutton。 现在,当我在iPHone5上运行相同的应用程序时,我在buttonmatrix下方的底部看到了很多空间。 我想收集视图来增加单元格之间的垂直间距。 有人可以指导我吗?

UICollectionView滚动问题

我正在开发一个由UITableView上的UICollectionViews组成的iPhone应用程序 使每个集合水平滚动。 除了当我开始滚动每个UICollectionView UICollectionViewCell方法被重用时,所有的步骤都是完美的 我遇到了下面图片中的标签问题 我在滚动表格视图的每个集合的标题面对这个问题,我做到了这一点 NSString *CellIdentifier = [NSString stringWithFormat:@"CellId%d%d",indexPath.row,indexPath.section]; TableViewCell *cell = (TableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if(!cell) { cell = [[TableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; } 我为每个单元分配了唯一的标识符,有什么build议可以帮忙? 🙂

用户滚动到不同页面时如何在“UICollectionView”的不同背景颜色之间淡入淡出?

我试图在他们的iOS应用上复制eBay的列表菜单,用户可以在列表中滚动不同的图片。 我注意到,背景颜色是一种纯色,可以在每张图像中复制背景的环绕颜色。 当我用不同的环绕声背景滚动不同的图像(不同的页面)时, UICollectionView的实际背景会以某种方式反映出来。 这是我的意思: 正如您在第一张图片中看到的那样,背景是浅色,有点类似于图像的背景。 当我滚动到第二张照片时,背景变暗。 最后: 我的设置是类似的: 使用DominantColor ,我能够设置UICollectionView的背景颜色与每个UIImage的主色调。 当用户在第一页和第二页之间中途滚动时, UICollectionView背景色被设置为第二页UIImage的主色。 func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as UICollectionViewCell let frame: CGRect = CGRect(x: 0, y: 0, width: imagesView.frame.size.width, height: imagesView.frame.size.height) let subView: UIImageView = UIImageView(frame: frame) subView.image = imagesArray[indexPath.row].image subView.contentMode = […]

在UICollectionView中显示上一个/下一个单元格的预览时,如何减慢滚动速度?

我知道这个问题已经有很多问题了。 但是大部分问题已经过时或者没有答案。 我的执行问题不是预览,但其分页速度? 我可以在UICollectionView显示前一个/下一个单元格,但是当我尝试快速滚动时,它将滚动(跳过)1或2页。 当我以很快的速度滚动时,会发生这种情况。 对于笔记,我正在使用自定义布局。 这是我的代码: – (CGPoint)targetContentOffsetForProposedContentOffset:(CGPoint)proposedContentOffset withScrollingVelocity:(CGPoint)velocity { CGRect cvBounds = self.collectionView.bounds; CGFloat halfWidth = cvBounds.size.width * 0.5f; CGFloat proposedContentOffsetCenterX = proposedContentOffset.x + halfWidth; NSArray* attributesArray = [self layoutAttributesForElementsInRect:cvBounds]; UICollectionViewLayoutAttributes* candidateAttributes; for (UICollectionViewLayoutAttributes* attributes in attributesArray) { // == Skip comparison with non-cell items (headers and footers) == // if (attributes.representedElementCategory != […]

在单元之间的UICollectionView中设置/覆盖填充

我有一个UICollectionView,我遇到了单元格之间的填充问题。 从理论上讲,我应该可以将屏幕分成4份,我可以得到一个有4张图像的细胞大小,它们完全占据屏幕宽度。 但是,它select不这样做。 相反,它会创build3个带有巨大填充的图像,如下所示: _cellSize = CGSizeMake(UIScreen.mainScreen().bounds.width/4,UIScreen.mainScreen().bounds.width/4) 所以我减less了单元格大小来创build一些填充,这是更接近,但我需要大约一半的填充: _cellSize = CGSizeMake(UIScreen.mainScreen().bounds.width/4.4,UIScreen.mainScreen().bounds.width/4.4) 所以我试着让单元格更大一些,然后翻到下一行,并把3个项目再次填充为HUGE。 _cellSize = CGSizeMake(UIScreen.mainScreen().bounds.width/4.3,UIScreen.mainScreen().bounds.width/4.3) 我可以指定单元格之间的填充没有它决定,如果填充低于“X”数量,它创build一个新的行,而不是? 就像我可以设置一个新的行之前的阈值填充说,0? 我想让它变得如此薄弱:

多个tableView中的多个collectionView

我有一个tableView我有2个自定义单元格,在这两个单元格中我有不同的CollectionView ,这两个CollectionView的数据源和委托是我的ViewController 。 那么现在我该如何检查在UICollectionView's各自的方法中configuration了哪些CollectionViews ? 这是视图层次结构 我如何才能知道上面函数的参数中有哪些collectionView? 所以这里是我的代码: class FeatureBannerTableViewCell: UITableViewCell { @IBOutlet weak var featureCollectionView: UICollectionView! } class FeaturedTableViewCell: UITableViewCell { @IBOutlet weak var FeatureTitle: UILabel! @IBOutlet weak var seeAllButton: UIButton! @IBOutlet weak var collectionView: UICollectionView! } extension ViewController: UITableViewDataSource { func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { switch indexPath.row { case […]

UICollectionViewCell中的viewWithTag在Swift中返回nil(直到单元格被重用)

这个冗长的标题大致是我的问题。 我开始在Swift项目中使用UICollectionView进行简单的学习示例。 我添加了CollectionView到由模板创build的ViewController,分配了委托和数据源。 自定义单元格是在故事板中创build的。 重用标识符已设置。 一切都很好。 我已经在自定义单元格中放置了一个UILabel,并给了标签值100。 这是我的ViewController的代码: https : //gist.github.com/tomekc/becfdf6601ba64d5fd5d 有趣的exceprt如下: func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell! { let cell = collectionView.dequeueReusableCellWithReuseIdentifier("element", forIndexPath: indexPath) as UICollectionViewCell cell.backgroundColor = UIColor.yellowColor() // list subviews NSLog("— ROW %d —", indexPath.row) printSubviews(cell) if let labelka = cell.viewWithTag(100) as? UILabel { labelka.text = String(format: "Row %d", indexPath.row) […]

Swift:内存不清除,当我继续到另一个视图控制器,接收内存警告

我正在Xcode 6.2中build立一个应用程序,用于iOS 8.1。 我有一个UIViewController ( LevelViewController ),其中包含一个UICollectionView其单元格代表我的游戏中的一个级别(每个人都有一个数字标签)。 一旦选中了其中一​​个单元格,我将执行一个显示segue到一个SKScene ,它将加载该特定级别的所有数据。我还有一个“菜单”button,它执行一个show segue回到主菜单。 在function上,这一切工作,但是我执行两个赛段后有严重的记忆问题。 在仪器中窥视之后,看来当我从LevelViewController ,为每个单独的UICollectionViewCell添加的所有UILabel都保留在内存中,以及单元中包含的所有其他内容。 应该只有192个标签(对于192个级别),但是在执行了几次这个分段之后,他们在仪器中加起来大约为1000个。 显然这些内存没有被释放,我的理解是swift应该处理这个问题,所以我不确定问题是什么。 我还应该注意到UICollectionView是以编程方式添加的,并且没有使用IBOutlets 。 那么我怎么能摆脱这些标签,实际上,当我离开UICollectionView时候, UICollectionView本身就是LevelViewController 。 我对此非常困惑,并且毁了我的圣帕特里克日。 所以对于所有事情的爱情爱尔兰请帮助一个小伙子:) 注:我试过的方法 self.collectionView.removeFromSuperView() self.collectionView = nil self.collectionView.deleteItemsAtIndexPaths(path)

UICollectionView卡在reloadData中

我遇到了[UICollectionView reloadData]问题,在它指定的numberOfSectionsInCollectionView上调用numberOfSectionsInCollectionView之前,似乎停滞了很久。 这是发生了什么事情: 应用程序以UICollectionView立即可见并在代理上调用numberOfSectionsInCollectionView ,该代理返回空数组(即0)中的项目数,并立即开始从Web服务下载数组的数据。 一旦下载完成,数据被反序列化并添加到上面的数组中,然后在UICollectionView实例上调用reloadData 。 这是应用程序似乎停止做任何事的地方,20-30秒(或有时长达一分钟)之后,委托接收对numberOfSectionsInCollectionView的调用。 一旦收到这个呼叫,重新加载就会很快完成。 我相信reloadData在自己的线程运行,但我已经尝试在一个单独的线程启动它,以确保它不是我的任何代码阻止进程。 什么可以重新reloadData正在做,而它似乎卡住了? reloadData和numberOfSectionsInCollectionView之间有什么中介委托方法,我应该实现? 就iOS开发者而言,我认为这是第一个被重载的方法。 如果有人可以告诉我可能会出现什么问题,那就太棒了,但是我也很感谢有关如何debugging的提示。