【问题标题】:How to reload a tableviewcontroller inside scrollview with pagination?如何使用分页在滚动视图中重新加载 tableviewcontroller?
【发布时间】:2014-09-05 02:18:07
【问题描述】:

我在滚动视图中有几个 Tableviewcontroller 实例,使用 NSMUTABLEARRAY 和分页。滚动视图的基本用法是创建具有不同日期的 tableviewcontroller 实例并在可滚动滚动视图中显示 tableview。现在我想要实现的是在导航时使用按钮重新加载具有不同数据的表格视图? 父视图是滚动视图 对于 x=50,所有子视图都分配并初始化为 null,然后用数据更新。我如何更改参数。所有创建的新页面都将根据新参数发出请求,但所有加载的页面仍将保持以前的数据。

【问题讨论】:

标签: ios scrollview tableview reload


【解决方案1】:

根据您的上一条评论(没有更多信息),您可以执行以下操作:

像这样调用这个方法:[self reloadTableViewsInScrollView:yourScrollView];

- (void)reloadTableViewsInScrollView:(UIScrollView *)scrollView
{
    for (UITableViewController *sub in scrollView.subviews)
    {
        [sub.tableView reloadData];
    }
}

【讨论】:

  • 抱歉,我有使用页面的 tableviewcontrollers
  • page 到底是什么?它属于什么对象类型/类?
  • 已使用 - (void)loadScrollViewWithPage:(int)page { if (page = kNumberOfPages) 返回; PageControlExampleViewControl *controller = [viewControllers objectAtIndex:page]; if ((NSNull *)controller == [NSNull null]) { 控制器 = [[PageControlExampleViewControl alloc] initWithPageNumber:page]; [viewControllers replaceObjectAtIndex:page withObject:controller]; [控制器释放]; } 在滚动视图的分页索引处创建视图控制器
  • 我已经根据页面索引正确加载了 tableviewcontrollers。我所做的是更改了 servicecall 中的参数,因此 json 响应不同。我试图在 CGFloat pageWidth = scrollView.frame.size.width; 给出的页面索引处获取 tableviewcontroller int page = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth);我确实调用了特定的 tableview 并重新加载了它的数据
  • 我有滚动视图,里面有大约 30 个 tableviewcontroller,它们是使用 pagenumber 动态创建并添加到其中的。 - (void)reloadTableViewsInScrollView:(UIScrollView *)scrollView { for (UITableView *sub in scrollView.subviews) { [sub reloadData]; } 只要我能得到确切的子视图就应该可以工作
【解决方案2】:

我正在发布未来结果的答案。经过一番努力终于想通了。

   CGFloat width = scrollView.frame.size.width;
    //Getting the Current Page of ChildTableController inside scrollview
    NSInteger page = (scrollView.contentOffset.x + (0.5f * width)) / width;
    ChildTableController *child =[[ChildTableController alloc]initWithPageNumber:page];
    [child.tableView reloadData];

这是 我是怎么做到的,而且效果很好。

  • 获取创建的滚动视图的宽度

  • 将页面整数从浮点数舍入

  • 在页面实例化 ChildTableController

  • 在实例中重新加载 tableview

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多