【问题标题】:Pages with UITableView带有 UITableView 的页面
【发布时间】:2012-04-14 10:21:15
【问题描述】:

我想显示 UITableView,但我想将它与 Page Control 一起使用。例如,如果用户更改页面,我会显示其他数据(在同一张桌子上)。

我知道点击页面控制后我可以更改数据并重新加载表格。但是我想在水平滚动时更改数据,我希望它看起来像我滑到其他表。我不知道如何开始?

我想要那样的东西(而不是普通的桌子):

如何启动它?也许有任何开源示例?

【问题讨论】:

    标签: iphone ios ipad uitableview uipagecontrol


    【解决方案1】:

    我同意Oscar,使用UIScrollView 的优点是以后可以使用漂亮的幻灯片动画。看看PanelTableView 控件。

    【讨论】:

      【解决方案2】:

      创建一个带有分页的 UIScrollView,看这里: http://www.iosdevnotes.com/2011/03/uiscrollview-paging/

      然后只需在每个子视图(页面)中创建一个 UITableView

      【讨论】:

      • 我做到了。但是当我在 UIScrollView 上添加我的表格视图时,应用程序崩溃了,我得到的信息是我没有方法 NumbersOfSections,但我的表格控制器中有它。
      • 当我在拥有 UIpageControl 的同一控制器中拥有 UITableView 委托方法时,它可以工作。如果我将它放在带有表的外部 UIViewController 中,则它不起作用。
      【解决方案3】:

      不完全确定这是否能解决您的问题,但每当我希望 UITableView 水平滚动而不是垂直滚动时,我都会将其翻转过来。

      //Rotate the table 90 degrees counterclockwise
      CGAffineTransform rotateTable = CGAffineTransformMakeRotation(-M_PI_2);
      self.myTableView.transform = rotateTable;
      //Code to reset the position of your table as the rotation throws it off
      

      然后在tableView:cellForRowAtIndexPath: 旋转单元格

      //Rotate the cell 90 degrees clockwise
      - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
      
           ...
      
           CGAffineTransform rotateCell = CGAffineTransformMakeRotation(M_PI_2);
           cell.transform = rotateCell;    
      
           return cell;
      }
      

      在每个单元格中,您可以放置​​代表一个“屏幕”或“页面”的控件。作为 UIScrollView 的 UITableView 支持分页,因此您可以利用它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-12-03
        • 2014-06-30
        • 2018-10-30
        • 1970-01-01
        • 1970-01-01
        • 2012-08-18
        • 1970-01-01
        相关资源
        最近更新 更多