[英]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;
}
UITableView
是UIScrollView
的子类。 因此,您基本上是将3个滚动视图添加到一个滚动视图。 我认为这是不可取的。
我认为这里的问题是设备对哪个scrollView将处理触摸/拖动事件感到困惑。
如果确实需要使用scrollView进行分页,建议您创建scrollView,但是为此禁用触摸事件。 您可以添加按钮以允许页面导航(而不是允许用户左右滑动)。 这样,您可以确保只有可见的表视图才能获取touch / drag事件。
在这里发现了类似的问题: UITableView在某些情况下不会滚动 。
我的第一个UITableView在顶部有一个搜索栏。
在上面的帖子中,他们建议添加[self.tableView setAlwaysBounceVertical:YES];
我对此进行了测试,但无法正常工作。 我把它放在我的视图中确实为UITableView加载了。
得到它的工作:
(1)单击“加载更多”单元格并收到信息后,我删除所有子视图
(2)然后创建新框架并将其添加回子视图
(3)最后我重新加载表数据
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.