繁体   English   中英

ios:UITableView不会滚动到底部

[英]ios:UITableView wont scroll to bottom

我有一个滚动视图,其中有3个UITableViews用于分页。 所有UITableViews加载更多数据单元。 第一个UITableView加载的单元格比其他两个更多。 当查看第一个UITableView我可以滚动到底部,但是当我滚动到第二个UITableView并返回到第一个UITableView我将无法一直向下滚动。 好像我必须调整滚动视图的大小。 视图刷新后为什么不能滚动到底部? 任何帮助都会很棒。

*第一个UITableView在顶部有一个搜索栏。 其他两个没有。 我尝试删除搜索栏,但仍然出现错误。

//Create a frame for each page and add the page to the scroll view
- (void)frameToScrollView{

if (pages!=NULL) {

    for (int i = 0; i < pages.count; i++) {

        //Get the current view controller
        UITableViewController *controller = [pages objectAtIndex:i];

        //Create a frame for the current table view controller
        CGRect frame = controller.view.frame;
        frame.origin.x = self.scrollView.frame.size.width * i;
        frame.origin.y = 0;
        frame.size = self.scrollView.frame.size;
        controller.view.frame = frame;

        //Add the the current table view controller page to the scroll view
        [self.scrollView addSubview:controller.view];
    }
  }
}

设置其他属性:

//Set the properties for the scroll view
- (void)setScrollViewProperties{
     self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * pages.count,     self.scrollView.frame.size.height);
    self.scrollView.contentOffset = CGPointMake(self.scrollView.frame.size.width, 0);
    self.scrollView.scrollsToTop = NO;
}

UITableViewUIScrollView的子类。 因此,您基本上是将3个滚动视图添加到一个滚动视图。 我认为这是不可取的。

我认为这里的问题是设备对哪个scrollView将处理触摸/拖动事件感到困惑。

如果确实需要使用scrollView进行分页,建议您创建scrollView,但是为此禁用触摸事件。 您可以添加按钮以允许页面导航(而不是允许用户左右滑动)。 这样,您可以确保只有可见的表视图才能获取touch / drag事件。

在这里发现了类似的问题: UITableView在某些情况下不会滚动

我的第一个UITableView在顶部有一个搜索栏。

在上面的帖子中,他们建议添加[self.tableView setAlwaysBounceVertical:YES];

我对此进行了测试,但无法正常工作。 我把它放在我的视图中确实为UITableView加载了。

得到它的工作:

(1)单击“加载更多”单元格并收到信息后,我删除所有子视图
(2)然后创建新框架并将其添加回子视图
(3)最后我重新加载表数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM