Tag: uicollectionviewlayout

放大一个二维UICollectionView

我创build了一个横向和纵向的UICollectionView 。 它有不同的UICollectionViewCells 。 一切都是正确的。 现在我正在努力使其变得可zoomable 。 UICollectionViewCells也正确resize。 每当UIPinchGesture发生时,我itemSize在UICollectionViewLayout依赖项的scale设置itemSize 。 TestLayout *layout = (TestLayout *) self.collectionViewLayout; CGSize newItemSize = CGSizeMake(_sizeItem.width * gesture.scale, _sizeItem.height * gesture.scale); [layout setItemSize:newItemSize]; 在这里你可以看到我在CustomLayout中调用的setItemSize方法。 – (void)setItemSize:(CGSize)itemSize { if (CGSizeEqualToSize(self.itemSize, itemSize)) return; _itemSize = itemSize; // [self prepareLayout]; [self invalidateLayout]; } 我的问题是知道,所有项目resize到右下angular,我不知道如何专注于我的UIPinchGesture上的元素。 每次gesture发生时,我都试图改变contentOffset : CGPoint posInView = [gesture locationInView:self]; CGPoint pointPinchTouch = […]

删除UICollectionView边缘的单元格 – 单元格不会在滚动后立即出现

考虑一个标准的垂直滚动stream布局,填充足够的单元格以引起滚动。 当滚动到底部时,如果您删除一个项目,以便收集视图的内容大小必须缩小以容纳新的项目数(即删除最后一行的最后一项),那么从顶部隐藏。 在删除animation结束时,顶部一行出现没有animation – 这是一个非常不愉快的效果。 在慢动作中: 重现真的很简单: 创build一个新的单个视图项目,并将默认的ViewController更改为UICollectionViewController的子类 将UICollectionViewController添加到使用标准stream布局的故事板,并将其类更改为ViewController 。 给单元格原型标识符“单元格”和一个200×200的大小。 将下面的代码添加到ViewController.m : @interface ViewController () @property(nonatomic, assign) NSInteger numberOfItems; @end @implementation ViewController – (void)viewDidLoad { [super viewDidLoad]; self.numberOfItems = 19; } – (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return self.numberOfItems; } – (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { return [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath]; } – (void)collectionView:(UICollectionView *)collectionView […]

无法获取UICollectionView以显示单元格

我试图让一个UICollectionView显示在一个模态的视图控制器。 该应用程序是为iPad的iOS 7。 我已经创build了UIViewController的子类(用一个笔尖),并像这样添加它: MyViewController *controller = [[MyViewController alloc] init]; UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:controller]; navController.modalPresentationStyle = UIModalPresentationFullScreen; navController.navigationBar.barStyle = UIBarStyleBlackTranslucent; [self presentViewController:navController animated:YES completion:nil]; 这个视图控制器是我的UICollectionView的委托和数据源,所以我已经添加了UICollectionViewDataSource和UICollectionViewDelegate头。 我已经把一个UICollectionView放入笔尖,并添加了一个出口MyViewController: @property (strong, nonatomic) IBOutlet MyCollectionView *collectionViewController; 我已经在MyViewController的viewDidLoad中添加了这个: self.collectionViewController.dataSource = self; self.collectionViewController.delegate = self; 我还将以下内容添加到MyViewController中: – (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { NSLog(@"Items in section: %d", itemsArray.count); // returns correct […]

iOS UICollectionView:具有交替网格alignment的圆形视图的单元格

我正在试图为UICollectionView的自定义单元格实现UICollectionView 。 现在默认情况下,圆形的排列方式与正常的方形单元相同:顶部圆和底部圆在同一条垂直线上。 我怎样才能改变这个alignment方式:上面的圆圈和下面的两个圆圈形成一个等边三angular形(顶部圆圈和底部圆圈的位置是按半径长度移动的)? 如下: from OOO OOO OOO to OOO OOO (no spacing among the circles) OOO

如何交替基于行的UICollectiveViewCell的背景颜色?

我知道这是相当容易的UITableViewCells,但我不知道如何使用UICollectionView来解决这个问题。 编辑。 图片澄清。 单元格的文本内容在这里不一样,但应该是。 在风景中: 在肖像中: 我试图根据cellForItemAtIndexPath:方法中的索引path的行属性,将单元格的文本标签的颜色与单元格的背景颜色进行天真的切换。 但是索引path的行属性在UICollectionViewFlowLayout中并不是真正的行。

如何用列和行标题创buildUICollectionView?

我想创build一个如下所示的UICollectionView: 它不会被滚动或编辑。 我目前想知道如何编写这个布局。 我猜它不会是UICollectionViewFlowLayout的子类。 我可以想到很多方法,但是如果有任何“正确的”方法,我们会好奇的。 这些单元格将具有animation能力。 每行或每列应该是自己的部分?

在UICollectionView中显示图像 – 如何实现图像之间的固定垂直间距?

我正在使用UICollectionView在iPhone应用程序(iOS6)中呈现图像网格。 我正在使用垂直滚动的UICollectionView,图像都有固定的宽度和不同的高度。 图像的宽度设置为在iPhone上显示3列图像。 这工作正常,我得到的网格视图中呈现的图像。 但是,由于我的图像高度不同,因此列中图像之间的垂直间距会有所不同,这看起来不太好,如下图所示(使用HTML制作的模型): 我反而希望实现更stream畅的stream动,即列之间的垂直间距相同。 下面的模型显示了我希望如何工作: 任何想法如何解决这个问题? 此外,作为一个奖金的问题,有没有人知道一种方法来解决同样的问题,如果应用程序不是为iOS6构build的(因为UICollectionView只在iOS6中可用)。 通过使用第三方组件或通过解决它与标准的iOS控件。

UICollectionView自定义行分隔符

我想为我们的新应用程序在UICollectionView 2pt黑色分隔符 。 下面是我们应用的屏幕截图。 我们不能使用UITableView ,因为我们有自定义的插入/删除animation,滚动和视差效果等等。

使用iOS 7 API的UICollectionView交互式布局转换

我试图得到新的iOS 7 API的处理,允许交互,animation视图控制器转换,包括UICollectionViewLayout之间的UICollectionViewLayout 。 我已经从WWDC 2013取得并修改了示例代码,“iOS-CollectionViewTransition”,可以在这里find: https : //github.com/timarnold/UICollectionView-Transition-Demo 最初的演示,当我find它时,它不处于工作状态,可以通过Apple开发者帐户进行访问: https : //developer.apple.com/downloads/index.action?name = WWDC%202013 我的版本的应用程序呈现一个集合视图与两个布局,两个UICollectionViewFlowLayout布局具有不同的属性。 在第一个布局中点击一个单元格可以适当地animation到第二个单元格,其中包括关键点在于正在滚动到新布局的项目。 起初,我对新的集合视图如何知道如何设置其内容偏移量以使适当的单元格可见是困惑的,但我知道这是基于呈现集合视图的selected属性。 在第一个布局中UICollectionViewTransitionLayout项目应该使用UICollectionViewTransitionLayout , UIViewControllerAnimatedTransitioning和UIViewControllerInteractiveTransitioninganimation到新的布局。 这可以工作,但是捏住的单元格不会滚动到新的布局或过渡布局中。 我已经尝试设置在不同位置捏的单元格上的selected属性(试图模仿点击一个项目推动新的视图控制器描述的行为),无济于事。 有关如何解决这个问题的任何想法?

用Swift创build一个分页UICollectionView

我试图创build一个UICollectionView与分页,并且每个项目的最大宽度是250点,我已经设法创build它,但我有2个问题:第一个项目开始不应该是,但在更多的空间开始当我试图刷卡时,总会有东西不让我滑动。 这是它的样子: video链接 这是我的代码: CenterCellCollectionFlowLayout.swift class CenterCellCollectionViewFlowLayout: UICollectionViewFlowLayout { override func layoutAttributesForElementsInRect(rect: CGRect) -> [AnyObject]? { var attributesToReturn:[UICollectionViewLayoutAttributes] = super.layoutAttributesForElementsInRect(rect) as! [UICollectionViewLayoutAttributes] for var i = 0 ; i < attributesToReturn.count ; i++ { var currentLayoutAttributes: UICollectionViewLayoutAttributes = attributesToReturn[i] var maximumSpacing: CGFloat = 50 let origin: CGFloat if i – 1 >= 0 { let […]