您将如何实现检测水平滑动的UITableView以允许分页?

6 iphone cocoa-touch

我想实现一个UITableView,一次显示20行.但鉴于我可能实际上已经说了120个项目,我想使用某种分页来处理这个问题:

用前20个项目填充表格.当用户进行从右向左滑动时,请使用接下来的20个项重新加载UITableView.从左向右滑动将显示前20个项目.

我认为继承UITableView并处理UITouches有可行的方法,但我不确定如何正确处理触摸,以免干扰标准事件处理.

例如.如果用户只是触摸(点击)一行,我希望该行高亮显示(选中),然后切换到显示与所选行对应的数据的详细视图.但是,如果用户进行水平滑动,我不希望突出显示(并因此选择)滑动下方的行,而是,我想触发我的loadprevious页面/ loadnext页面处理,这将重新加载具有相应的表格20个上一个或下一个项目,具体取决于滑动方向.

有什么建议?

Aug*_*ust 9

表行上的水平滑动已经是标准的UI行为,导致该行被删除.不要改变标准的UI范例 - 它会让用户感到困惑并使他们不喜欢你的应用.


Air*_*Ltd 2

这是一个相当不标准的 UI 范例。当然,您会向上/向下滚动 120 个项目,就像(比如说)“通讯录”应用程序一样。你让自己的生活变得更加复杂——而且你还面临着这个应用程序因为奇怪的用户界面而被苹果拒绝的严重风险。

http://forums.macrumors.com/showthread.php?t=532573中描述了实现此操作的实际方法

我已经阅读了那里的代码,它看起来很合理,尽管我想到您可能还需要处理 touchUpInside,而不是调用 [super touchUpInside] 以避免在水平滑动时选择单元格。