【问题标题】:Is it possible to make UITable continuous?是否可以使 UITable 连续?
【发布时间】:2011-08-01 10:33:49
【问题描述】:

我想让 UITable 连续,这意味着当用户滚动到第一行时,他可以继续向上滚动并看到底部的内容。

示例:
如果这是正常配置:
-- 第 1 行 --
-- 第 2 行 --
-- 第 3 行 --
-- 第 4 行 --

我希望它看起来像:
...
-- 第 3 行 --
-- 第 4 行 --
-- 第 1 行 --
-- 第 2 行 --
-- 第 3 行 --
-- 第 4 行 --
-- 第 1 行 --
-- 第 2 行 --
...

谢谢!

【问题讨论】:

  • 为什么要这样做?你不能通过一些已经像 UIPickerView 这样的控件获得你想要的行为吗?
  • 我在主页的演职员表的“愤怒的小鸟”中看到了这一点。你必须制作自己的滚动视图来实现这个

标签: ios cocoa-touch uitableview uikit


【解决方案1】:

据我了解,您需要某种永无止境的桌子。恐怕 UITable 的实现不允许这样做。

【讨论】:

  • 嗯...我认为可以通过从 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 返回正确的单元格来实现类似的效果
【解决方案2】:

iOS 5 测试版中有 API 可让您执行此操作。由于它还没有发布,所以我要说的就这些了。去寻找它,然后在http://devforums.apple.com 上提问(或等待“今年秋天”发布的 iOS 5)。

另一种选择是在UITableView 中报告大量行(例如,100000),然后在表格视图停止滚动时静默调整滚动位置。 ([tableView scrollToRowAtIndexPath:anIndexPath animated:NO];) 您可能在保留确切的滚动位置时遇到问题,但您也可以通过使用setContentOffset:animated: 来解决这个问题?我不太确定;我得试试看。

然而,在实践中,它通常是有效的。例如,这就是UIDatePicker 在显示日期时实现其“无限”滚动的方式。不过UIDatePicker 上的行定位约束与UITableView 上的不同,但原理 是一样的...

【讨论】:

    【解决方案3】:

    你不能基于 UITableView 做到这一点。

    tableview 是一种完全封装的元素,它只在您配置它的点(只要它是可配置的)和它要求数据填充自己的点与您的代码交互。

    因此,与其向它提供您希望它显示的任何内容,您需要等到它向其代表询问数据,即使这样,您也只有机会给它所需的东西 - 用于表格中的特定位置。

    恐怕你必须从头开始。

    【讨论】:

      【解决方案4】:

      看看这个问题:How to make an never ending UITableView?。但是,所有这些方法都只是不会永远有效的技巧!正如大家所说,恐怕你必须从头开始,可能只是循环 UIViews ,每个都包含一个单元格,通过操纵它们的框架!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-02-10
        • 1970-01-01
        • 1970-01-01
        • 2019-09-03
        • 1970-01-01
        • 1970-01-01
        • 2020-11-13
        • 1970-01-01
        相关资源
        最近更新 更多