【问题标题】:UICollectionView to make EPGUICollectionView 制作EPG
【发布时间】:2012-09-19 05:33:23
【问题描述】:

WWDC 的一些人告诉我,UICollectionView 非常适合在 iOS 中创建 EPG(电子节目指南)样式视图,如下图所示。但是,我找不到任何与此相似的样本……有人知道吗?

【问题讨论】:

  • 您需要自定义布局。这是我的想法:您使用装饰视图来显示频道/时间。然后为每个频道横向布局网格(程序块)。

标签: iphone objective-c ios uicollectionview epg


【解决方案1】:

在很多情况下,您可以通过继承 UICollectionViewFlowLayout 类来完成它。但在这种情况下,您必须编写自己的布局。因为UICollectionViewFlowLayout 用于基于行的布局,其中行在末尾断开。但在这种情况下,这是行不通的。

所以自定义布局是要走的路。您可能想查看有关自定义布局和 Apple 文档的 WWDC 会议。

【讨论】:

    【解决方案2】:

    这是一个使用 UICollectionView 和自定义 UICollectionViewLayout https://github.com/CoderXpert/EPGGrid....快速创建 EPG Grid 的示例。

    【讨论】:

      【解决方案3】:

      我也有同样的问题 - 我不确定,但我认为你(我们)必须继承

      UICollectionViewFlowLayout
      

      为了实现这个布局:P

      【讨论】:

      • 流式布局只适用于一个方向。水平或垂直
      • WWDC 2012 会议 219“高级集合视图和构建自定义布局”。他们描述了如何继承 UICollectionViewFlowLayout/UICollectionViewLayout
      【解决方案4】:

      看起来很简单,你只需要 CollectionView 中的一个部分和每个项目的高度相同。要使项目的长度动态化,您只需要这个 api,您可以在其中计算您的空间并返回适当的大小。

      - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
      

      这是 UICollectionViewDelegateFlowLayout 协议方法之一。确保为集合视图启用了水平滚动,您可以从情节提要中进行设置。

      【讨论】:

        【解决方案5】:

        https://github.com/NOUSguide/NGVaryingGridView 允许为单元格设置单个矩形的 GridView。因此,您可以定义具有不同大小的单元格,例如用于在时间表、EPG 等中。

        【讨论】:

          【解决方案6】:

          https://github.com/inspace-io/INSElectronicProgramGuideLayoutUICollectionViewLayout 用于显示电子节目指南,对您有帮助。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2020-11-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多