UITableViewController里面的水平分页UIScrollView

这是情况:

我需要水平滚动,并在每个页面内的表视图。 这就像新闻应用程序,它应该显示不同类别的新闻,当滚动一个水平方向,在一个类别内,它应该显示约30消息,当然可以垂直滚动。

我已经成功地完成了我所需要的,但是…

我有以下情况:

UINavigationController |__ UIViewController, which contains ScrollView and PageControl |__ UITableViewController, which holds data in rows, and is displayed inside parent, which is actually ScollView 

我知道这不是一个理想的解决scheme,但至less是有效的。 作为一个基地,我使用苹果公司的代码和教程在这个链接上find的PageScroll。 而不是简单的viewController添加到ScrollView,我使用TableViewController,所以基本上我把tableController.tableView添加到ScrollView。

我也知道,在scrollview中添加tableViews就是在卡车里面加一辆车,然后驾驶那辆车,但是我找不到更合理的做同样的事情。

所以,我需要你的想法如何使用其他方法可以完成。 我为此使用了故事板和iOS 5,现在一切似乎(并且看起来)都是混乱的。

在此先感谢,很多。

几个月前我做了类似的事情,就是这样的:

  • UINavigationController
    • 具有UIScrollView UIViewController
      • UIViewController里面有一个UITableView (我使用这个,因为我只是讨厌UITablewViewController

我遵循了苹果有关创build自定义容器的文档 。 如果我没有弄错的话,那么在WWDC 2011video部分有一个很棒的video。 我可以自豪地说,代码真的很干净,很容易理解。


答案1.0

一件事是,你设法得到正确的方向处理的tableView,没有任何破解,或者你不使用它?

不,在这种情况下,我没有,但我相信我一定能够做到这一点,没有任何问题。 你看,当你只是[self.view addSubView:newViewController.view]; 。 您只需添加UIView ,旋转的所有逻辑都由newViewController处理,而不是在UIView所在的控制器中。

另一件事是,如果我要尝试实现,比如GridView或者类似的东西,对于iPad来说,方向处理和animation变得非常难看。

我在另一个项目中实现了这个function,一旦你明白了发生了什么,它就很容易实现:

  1. 我用一个UITableView所以我可以从dequeueReusableCellWithIdentifier:获得所有的好东西dequeueReusableCellWithIdentifier:创build节的标题,表的页眉和页脚等。我只是想,不pipe我会做什么用UIScrollView一个UITableView总是要进一步优化。 作为UITableViewCell's我只用了3格的持有人,每一个都是一张照片。 (我的应用程序是一个图片展示)