这是这种情况:

我需要水平滚动,并且每页都需要表格 View 。这就像新闻应用程序一样,它应该显示不同类别的新闻,当在一个水平方向上滚动时,并且在一个类别中,它应该显示大约30条新闻,当然可以垂直滚动。

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

我有以下情况:

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

我知道这不是理想的解决方案,但至少可以奏效。作为基础,我在此link上使用了Apple的PageScroll的代码和教程。我不是使用简单的viewController添加到ScrollView,而是使用TableViewController,因此基本上我将tableController.tableView添加到ScrollView。

我也知道,在scrollview中添加tableViews就像在卡车中添加汽车并驾驶该汽车,但是我找不到更合理的方法来做同样的事情。

因此,我需要您考虑如何使用其他方法来实现此目的。为此,我使用 Storyboard 和iOS 5,一切似乎(看起来)现在很困惑。

在此先感谢,非常感谢。

最佳答案

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

  • UINavigationController
    带有UIViewController
  • UIScrollView
  • 里面带有UIViewControllerUITableView(我使用它是因为我只是讨厌UITablewViewController)



  • 我遵循了Apple's documentation about creating custom containers。如果我没有记错的话,那么在WWDC 2011视频部分中有一个很棒的视频。我可以自豪地说代码非常干净而且易于理解。

    答案1.0
    一件事是,您是否成功地获得了tableView的正确方向处理,而没有受到任何黑客攻击,或者您不使用它?
    不,在这种情况下我没有,但是我确信我可以做到这一点而没有任何问题。您会看到,大多数问题只是在[self.view addSubView:newViewController.view];时出现的。您只需添加UIView,所有旋转逻辑均由newViewController处理,而不是在UIView将位于的 Controller 中。
    另一件事是,如果我要尝试实现GridView之类的功能,对于iPad,方向处理和动画将变得非常难看。
    我在另一个项目中实现了该功能,一旦您了解发生了什么,就很容易实现:
  • 我将UIViewControllerUITableView一起使用,以便可以从dequeueReusableCellWithIdentifier:,创建节的标题,表的页眉和页脚等中获取所有好处。更优化。作为UIScrollView,我只使用了一个3个正方形的支架,每个支架都是一幅图片。 (我的应用程序是图片展示)
  • 关于ios - 带有水平分页的UIScrollView内的UITableViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11262047/

    10-13 06:55