如何为 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 片段? [复制]