如何为 iPad 创建一个 YouTube 或 eBay 风格的界面?

Posted

技术标签:

【中文标题】如何为 iPad 创建一个 YouTube 或 eBay 风格的界面?【英文标题】:How to create a YouTube or eBay style interface for iPad? 【发布时间】:2010-12-24 02:45:24 【问题描述】:

愿意为工作示例奖励 +500 奖金。

iPad 的 YouTube 界面非常有趣,视频网格。 iPad 上的 eBay 具有类似类型的网格界面。

我有兴趣知道这种风格叫什么?是否有任何示例项目可以演示如何实现这一点,或者编写起来非常简单?

另外,还有哪些适用于 iPad 的其他应用程序具有这种类型的界面?

【问题讨论】:

【参考方案1】:

我在几个项目中使用过 AQGridView,强烈推荐。

https://github.com/AlanQuatermain/AQGridView

您需要进行一些子类化以使其完全按照您的意愿行事,但这是一个好的开始。

【讨论】:

【参考方案2】:

他们很可能只是编写自己的UIScrollView 子类来显示视图网格。我自己做了一个,还有其他开源的。

编写自己的代码并不太难,具体取决于您是否要支持重复使用单元格(如果您的列表很长,您可能会支持)。

此外,这是了解UIScrollView 的绝佳方式。

您可能对this one 感兴趣。

【讨论】:

【参考方案3】:

我会以与iPad document view 类似的方式执行此操作。在那里看到我的答案。也就是说,自然会有一些差异,因为您想要不同的结果。

由于您想要一个网格,子类对象将具有较小的框架。此外,图块的 X 和 Y 属性将基于数组中图块的索引。您可能需要一个多维数组来跟踪您的对象,然后使用数组/平铺对象的索引来定位对象。

编辑:

对于网格,制作一个多维数组。假设您有 75 个单元格,并且您想要每行 5 个单元格。所以:

创建一个包含数组的数组(也称为多维数组或 3D 数组)。然后,循环遍历它,如下所示:

for(NSInteger i=0; i<[cells count]; i++)
  for(NSInteger j=0; j < [[cells objectAtIndex:i] count]; j++)
   //lay out cells based on i and j values times height and width of cell
  

【讨论】:

但是有没有已知的例子来说明如何完成这些?我的意思是,显然,单元很容易重新创建,只是单元和网格的概念是困难的部分。 细胞也很简单。制作一个多维数组并循环遍历它。将循环的索引乘以单元格的宽度和单元格的高度,得到偏移量。 在 iPad 等上重新格式化;在这种情况下,您可以缩进 4 个空格;对于内联代码块like this,按住并按住'字形直到出现` @MarcGravell - 谢谢。我很感激。【参考方案4】:

我只会使用 UITableViewController。我会使用 UITableCell 的一个子类,它接受一个视频数组(这个数组可以是 nil,对于那些只有“加载更多..”单元格的行)。行数将是视频数除以 4+1。单击“加载更多..”将调用更多数据;刷新数据(例如,添加更多视频)的最简单方法是添加到视频数组并调用以刷新表格视图。 (抱歉没有格式化,我在打电话)这是three20 库用于缩略图视图的模式。

希望这会有所帮助!

【讨论】:

以上是关于如何为 iPad 创建一个 YouTube 或 eBay 风格的界面?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 iPhone 创建一个可以在 iOS 9 中针对 iPad 多任务进行调整的 Popover?

如何为 youtube 添加 wmode="opaque" 或 wmode="transparent" 到这个 php 片段? [复制]

我应该如何为想要嵌入自己的 Youtube 链接的其他人建立网站?

如何为 ipad 实现 RESideMedu?

如何为支持视网膜显示的 ipad 应用程序设置图像

不知道如何为 iPad Air 设计元素