Tag: uicollectionview

UICollectionView马赛克布局

我需要为应用程序创build一个马赛克布局。 有一个完全dynamic的布局,这将是美好的,类似于下面的图片: 我正在使用这个非常酷的库 ,但只允许dynamic的高度。 有没有一个图书馆,或有一种方法来实现这一结果? 谢谢!

UICollectionView单元格,自动布局和collectionview布局的变化

我有一个集合视图,显示单元格看起来像一个经典的表格视图与图像,标题和副标题。 我希望能够将布局切换为仅显示图像的网格,连续3个。 集合视图单元格的内容被放置在具有自动布局的故事板中。 imageView有以下限制: 引导0到左边的单元格边缘 顶部0到顶部小区边缘 底部0到底部细胞边缘 固定宽度 标签的水平空间 在更改布局之后,imageView应该对容器的所有边都有零约束,以便它完全填充它。 目前,当我改变布局的应用程序崩溃Unable to simultaneously satisfy constraints. 。 什么是最好的方式来解决布局改变时的约束,甚至可能取代单元格类?

UICollectionView中的最后一项不是alligned – Swift

我已经看到类似这个问题的一些问题,但没有一个真正帮助我。 我的collections视图中的最后一个项目总是低于其他项目,如下图所示: 如果我增加UICollectionView的高度,那么最后一个图像的alignment方式是正确的,但是在UICollectionView的顶部和底部之间存在巨大的差距,如下图所示: 细胞的大小由这个代码控制: func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { let image = UIImage(data: imageArray[indexPath.row]) var size = image?.size let height = size!.height let width = size!.width let imagewidth = (width / height) * 214 return CGSize(width: imagewidth, height: 214) } 据我所知,这应该是使每个图像的高度相同,这意味着原始图像的高度是多less并不重要。 我还有另一个收集视图,其中最后一项正确alignment,并以完全相同的方式设置,所以我有点困惑。 你觉得问题是什么? 我已经读过这可能是一个错误,但无论如何周围呢? 我仍然在学习Swift和一般的编程,所以如果你有任何其他的技巧,他们将非常感激。 谢谢

UICollectionView并使用Parse推送到detailViewController

我使用tapGesture方法将图像从UICollectionView包装到detailViewController viewController.h中,如下所示: #import <Parse/Parse.h> @interface CardsViewController : UIViewController <UICollectionViewDelegateFlowLayout> { NSMutableArray *allImages; NSArray *cardFileArray; } @property (weak, nonatomic) IBOutlet UICollectionView *imageCollection 和viewController.m如下 – (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView { return 1; } – (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{ return [cardFileArray count]; } – (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { static NSString *identifier = @"MyCell"; Cards *cell = (Cards *)[collectionView dequeueReusableCellWithReuseIdentifier:identifier […]

Swift:如何使用snapkit获得正确的UICollectionView高度?

我可能会以完全错误的方式去解决这个问题,因为我尝试做的应该很简单…我有一个包含几个子视图的视图组件,其中一个是UICollectionView。 我使用SnapKit布局子视图。 UICollectionView是button的stream程布局,跨越0到n行,button的数量从一开始就是已知的。 当我通过SnapKitconfiguration约束时,Collection的高度为0,因为没有任何项目(cellForItemAt仍然没有调用)。 我将如何去获得在SnapKit中dynamic设置集合的高度? 还是有更好的方式来获得我正在寻找的基本stream程布局(dynamicheigth-adjustement)? (注:代码有点简单,只显示相关部分) class CategoryList: UIViewController, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout, UICollectionViewDelegate { var categories : [String]? var buttons = [BorderedButton]() private(set) lazy var collectionView: UICollectionView = { var flowLayout = UICollectionViewFlowLayout() let collectionView = UICollectionView(frame: self.view.bounds, collectionViewLayout: flowLayout) collectionView.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "collectionCell") collectionView.delegate = self collectionView.dataSource = self collectionView.backgroundColor = UIColor.cyan return collectionView }() […]

滚动到UICollectionView中的下一个单元格

我有一个容器视图中的UICollectionView。 它的大小使我一次只能看到一个单元格。 我已禁用垂直滚动,所以只有水平滚动发生。 一切工作只是水晶横向滚动单元格。 这个滚动的缺点是我可以滚动,并获得一个位置,我看到两个单元格之间的差距的一半的一部分。 我想要实现的是一次只显示一个单元格,而不显示两个半单元格。 所以滚动应该把我带到下一个单元格。 希望这是有道理的。 请让我知道,如果有人已经尝试或可以帮助我达到相同的。 谢谢。

如何在UITableViewCell中创build具有dynamic高度的视图网格

我想创build一个盒子的网格,这是在我的UITableViewCell具有固定宽度和高度的Label 。 如何才能做到这一点? 我要这个: 我得到这个: 我尝试在UITableViewCell使用UICollectionView ,但我遇到了两个问题: UITableViewCell的高度不会根据有多less项目而dynamic改变 项目之间的空间不能准确设置(因为你只能定义一个minCellSpacing值) 我的问题: 什么是最好的方式来创build这个Label的网格,使UITableViewCell的高度会根据项目的数量dynamic变化,所以我可以准确地设置项目之间的间距? (如果没有UICollectionView ,这可以很好,但它不是一个要求)

当视图当前不可见时,更改集合视图的滚动位置

有两种情况下,我设置我的collections视图的滚动位置有问题: 在开始时,我想滚动到某个项目(起始位置!=集合视图的开始) 视图目前还不可见,但在“背景”集合视图应滚动到某个项目 将集合视图滚动到某个单元格的可靠方法是什么? 目前我设置scrollToItemAtIndexPath在viewDidAppear的滚动位置,但对于我来说已经太晚了。

单元格数据设置后如何更新UICollectionView中的单元格大小?

所以我有一个UICollectionView在每个单元格中具有不同大小的不同图像。 当调用cellForItemAtIndexPath:时,我使用在Web上asynchronous获取图像的方法更新UICollectionViewCell,并将其显示为完整大小。 我的问题是我的单元格的大小已经设置之前sizeForItemAtIndexPath。 我希望它被召回,以便单元格具有下载的图像大小。 我怎样才能做到这一点?

如何parsing提供更多数据的另一个url的json数据

我有点困惑,我将如何parsing一个json API给我20个对象,然后给我一个“下一个”的关键有一个url,给了我另外20个对象。 我正在使用这个口袋妖怪API 。 它给了我4个键: 计数,上一个,结果和下一个 。 我试图在集合视图中显示它们,但不是全部同时显示。 我想在集合视图向下滚动时加载更多。 我只是想要得到这个名字。 这就是我的代码的样子。 我得到它加载收集视图中的第一个20口袋妖怪。 不过我不知道如何加载下一个20口袋妖怪或20后。 这是如果链接不起作用的json文件的样子。 我将不胜感激任何帮助。 🙂