Tag: uicollectionview

UICollectionViewData中的声明失败indexPathForItemAtGlobalIndex

我正在使用performBatchUpdates()来更新我的集合视图,在那里我正在做一个完整的刷新,即删除它里面的东西,并重新插入一切。 批量更新是作为附加到NSMutableArray ( bingDataItems )的Observer的一部分完成的。 cellItems是包含正在或将要插入到集合视图中的项目的数组。 这里是代码: – (void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { cultARunner *_cultARunner = [cultARunner getInstance]; if ( [[_cultARunner bingDataItems] count] ) { [self.collectionView reloadData]; [[self collectionView] performBatchUpdates: ^{ int itemSize = [cellItems count]; NSMutableArray *arrayWithIndexPaths = [NSMutableArray array]; // first delete the old stuff if (itemSize == 0) […]

在UICollectionView中复制标注

我有一个UICollectionView与UIImageView在每个单元格中,现在我想添加复制标注,就像Photos.app中: 我在UICollectionViewDelegate中看到了这个方法: – (BOOL)collectionView:(UICollectionView *)collectionView shouldShowMenuForItemAtIndexPath:(NSIndexPath *)indexPath { return YES; } 经过几分钟的研究,我发现UIMenuController类,据我所知,我必须与它合作得到菜单,但无论如何,我认为必须有更简单的方法,然后创buildUIGestureRecognizer,创build,定位等我UIMenu。 我在正确的轨道上? 你怎么能实现这个function?

ios 8 Swift – embedded式CollectionView的TableView

我对iOS编程相对比较陌生,并且尝试了一些东西,但无济于事。 我想在一个TableViewCell里面放一个CollectionView 。 我可以单独编码,但不知道如何设置和引用TableViewCell每个CollectionView 。 我已经find了这个教程, http://ashfurrow.com/blog/putting-a-uicollectionview-in-a-uitableviewcell/它展示了如何在Objective-C中完成,但是我一直在与Obj-C进行斗争。 有谁知道一个Swift教程或可以协助? 我正在创build一个简单的项目/代码,我将尽快发布,以帮助您。 编辑1 我刚刚find了上述链接的快速版本。 我正在通过这个工作,但似乎过于复杂,修改AppDelegate。 https://github.com/DahanHu/DHCollectionTableView 非常感谢Rob

如何从UICollectionViewCell访问UICollectionView中Cell的indexPath

我想animationUICollectionViewCell行动时被调用。 我在Interface Builder UICollectionView也做了UICollectionView 。 现在我想在我的actionBtnAddToCard方法得到正确的indexPath 。 这就是我现在尝试的方式(ProduktViewCell.m中的方法): – (IBAction)actionAddToCart:(id)sender { XLog(@""); // see this line NSIndexPath *indexPath = ??** how can i access the correct indexPath**??; SortimentViewController *svc = [[SortimentViewController alloc] initWithNibName:@"SortimentViewController_iPad" bundle:[NSBundle mainBundle]]; [svc.collectionViewProdukte cellForItemAtIndexPath:indexPath]; [svc collectionView:svc.collectionViewProdukte didSelectItemAtIndexPath:indexPath]; } SortimentViewController是inheritanceUICollectionView的viewController。 如何访问正确的indexPath? 更新1:编辑后更好的理解。

UICollectionView水平分页不居中

我有一个水平滚动collectionView与每个单元格视图的大小。 当我通过collectionView页面不是逐页。 单元格不在屏幕的中心。 我已经尝试了一堆东西来尝试修复它,并没有任何运气。 这是一个问题的video: https : //www.youtube.com/watch ? v = tXsxWelk16w有什么想法?

UICollectionViewCell震动

我已经创build了一个UICollectionView,并希望所有的单元格都像iPhone上跳板的编辑模式一样摇动。 我创build了我的摇号,但不知道如何实现它。 我有自定义单元格,所以我假设它在那里,但不知道如何得到实施。 谢谢。 #define degreesToRadians(x) (M_PI * (x) / 180.0) #define kAnimationRotateDeg 0.5 #define kAnimationTranslateX 1.0 #define kAnimationTranslateY 1.0 //startJiggling int count = 1; CGAffineTransform leftWobble = CGAffineTransformMakeRotation(degreesToRadians( kAnimationRotateDeg * (count%2 ? +1 : -1 ) )); CGAffineTransform rightWobble = CGAffineTransformMakeRotation(degreesToRadians( kAnimationRotateDeg * (count%2 ? -1 : +1 ) )); CGAffineTransform moveTransform = CGAffineTransformTranslate(rightWobble, […]

UICollectionView粘滞标题在swift中

我试图创build一个粘性的补充标题,它始终保持最佳状态,并且不会响应滚动事件。 到目前为止,我发现的解决scheme仍然对滚动滚动有所反应,并使用自定义的stream布局进行修复,这可能也是解决我的问题的方法。 我想这样做的原因是,标题在其他地方使用,应该是可重用的。 我希望这可以这样解决,我不必创build一个分离的看法。 正如我在Swift中所做的那样,在Swift中有一个例子会很棒。

如何创build一个居中的UICollectionView像Spotify的播放器

我在尝试像Spotify播放器中那样创buildUICollectionView时遇到了很多困难: 对我来说这个问题是双重的。 1)我如何居中细胞,以便您可以看到中间细胞以及左边和右边的一个。 如果我创build正方形的单元格并在每个单元格之间添加间距,单元格将正确显示,但不居中。 2)使用pagingEnabled = YES,collectionview正确地从一个页面滑动到另一个页面。 但是,如果没有将单元格居中,只会将收集视图移动到屏幕宽度的页面上。 所以问题是你如何让页面移动,以获得上述效果。 3)你如何在移动的时候使细胞的大小animation化 我不想太担心这个。 如果我能做到这一点,这将是伟大的,但更难的问题是1和2。 我目前的代码是一个简单的UICollectionView与正常的委托设置和正方形的自定义UICollectionview单元格。 也许我需要子类UICollectionViewFlowLayout? 或者,也许我需要将pagingEnabled为NO,然后使用自定义刷卡事件? 会爱任何帮助!

在哪里突出显示UICollectionViewCell:代表或细胞?

根据“ 集合视图编程指南”,应该处理UICollectionViewDelegate单元格高亮的可视状态。 喜欢这个: – (void)collectionView:(PSUICollectionView *)collectionView didHighlightItemAtIndexPath:(NSIndexPath *)indexPath { MYCollectionViewCell *cell = (MYCollectionViewCell*)[collectionView cellForItemAtIndexPath:indexPath]; [cell highlight]; } – (void)collectionView:(UICollectionView *)collectionView didUnhighlightItemAtIndexPath:(NSIndexPath *)indexPath { MYCollectionViewCell *cell = (MYCollectionViewCell*)[collectionView cellForItemAtIndexPath:indexPath]; [cell unhighlight]; } 我不喜欢这种方法是,它增加了对细胞非常特定的代表的逻辑。 事实上, UICollectionViewCell通过highlighted属性独立pipe理突出显示的状态。 不会压倒一切setHighlighted:是一个更清洁的解决scheme,然后呢? – (void)setHighlighted:(BOOL)highlighted { [super setHighlighted:highlighted]; if (highlighted) { [self highlight]; } else { [self unhighlight]; } } 这种方法有什么缺点,而不是委托方法?

UICollectionView基于设备屏幕大小的单元间距

我已经实现了一个UICollectionView,单元格大小为w90 h90。 当我在iPhone 6上运行它,我得到单元格之间的适当间距,但是当我在iPhone 5s上做到这一点,我得到更多的单元格之间的间距。 我的问题是如何根据设备的屏幕大小更改单元格大小 ,假设单元格大小为w80 h80,我也在iPhone 5s上获得了正确的结果。 我现在正在做的是 override func viewWillAppear(animated: Bool) { var scale = UIScreen.mainScreen().scale as CGFloat println("Scale :\(scale)") var cellSize = (self.collectionViewLayout as UICollectionViewFlowLayout).itemSize println("Cell size :\(cellSize)") imageSize = CGSizeMake(cellSize.width * scale , cellSize.height * scale) println("Image size : \(imageSize)") } // sizeForItemAtIndexPath func collectionView(collectionView: UICollectionView,layout collectionViewLayout: UICollectionViewLayout,sizeForItemAtIndexPath indexPath: NSIndexPath) […]