UITableview如何进行水平分页?

问题描述 投票:0回答:1

我希望每个页面上都会出现表格。该表将具有相同的结构,但每页上的数据不同。我希望 UIPageControl 可视化当前页面。怎么做呢? 使用 UITableviewController 我将能够更新表中的数据。 UITableview有一个参数:分页启用。

uitableview scroll pagination uipagecontrol
1个回答
1
投票

我会检查 cellForRow ... 中 uipagecontrol 的值以返回给定页面的单元格。 uipageControl 对 UIControlEventValueChanged 事件有一个回调,然后您应该在其中重新加载表视图。

- (void) callback:(id) sender {
    [mytableview reloadData];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    if (pgcontrol.currentpage == 1) {
        ...
    } else if (pgcontrol.currentpage == 2) {
        ....
    }
    ....
}

然后,您需要小心地将 uipagecontrol 放在 uitbaleview 的顶部,根据经验,最好是有一个包含 uitableview 和 uipagecontrol 或其他控件的免费 uiview,以便两者不重叠,在这种情况下您最终会使用uiviewcontroller 而不是 uitableviewcontroller。一般来说,我发现 uitableviewcontroller 仅适用于只有表视图且没有细化的简单视图。

希望这有帮助。

编辑:将它们放在一起,您将遵循以下原则: 1)从文件模板库创建uiviewcontroller子类 2)在xib上添加一个页面控件作为控制器视图的子视图,与添加一个uitbaleview相同 3)您需要这两个控件的出口,并且需要将控制器定义为表的数据源和委托 4)您还需要一个 IBAction 来链接到页面控件上更改的事件值,这就是我在最初的答案中命名的回调:(id)发送者+如果您使用 IB 执行此操作,则它是 IBAction 5)剩下的就回到最初的答案,pgcontrol是你到uipagecontrol的出口

© www.soinside.com 2019 - 2024. All rights reserved.