WWDC 的一些人告诉我,UICollectionView 非常适合在 iOS 中创建 EPG(电子节目指南)样式视图,如下图所示。但是,我找不到任何接近这个的样本......有人知道吗?
6 回答
这是使用 UICollectionView 和自定义 UICollectionViewLayout https://github.com/CoderXpert/EPGGrid ...快速创建 EPG 网格的示例。
在很多情况下,您可以通过子UICollectionViewFlowLayout
类化来完成它。但在这种情况下,您必须编写自己的布局。因为UICollectionViewFlowLayout
适用于基于行的布局,其中行在末尾断开。但在这种情况下,这是行不通的。
所以自定义布局是要走的路。您可能想查看有关自定义布局和 Apple 文档的 WWDC 会议。
好吧,看起来很简单,您只需要 CollectionView 中的一个部分和每个项目的高度相同。要使项目的长度动态化,您只需要这个 api,您可以在其中计算空间并返回适当的大小。
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
这是 UICollectionViewDelegateFlowLayout 协议方法之一。确保您的水平滚动已启用集合视图,您可以从情节提要中设置它。
https://github.com/NOUSguide/NGVaryingGridView 一个允许为单元设置单个矩形的 GridView。因此,您可以定义具有不同大小的单元格,例如用于时间表、EPG 等。
我有同样的问题 - 我不确定,但我认为你(我们)将不得不子类化
UICollectionViewFlowLayout
为了实现这种布局:P
https://github.com/inspace-io/INSElectronicProgramGuideLayout UICollectionViewLayout 用于显示对您有帮助的电子节目指南。