【问题标题】:Unable to scroll to the bottom of UITableView无法滚动到 UITableView 的底部
【发布时间】:2013-05-05 04:53:40
【问题描述】:

我知道论坛上有很多关于这个问题的答案,但他们没有帮助我。这是我的问题。

我有UITableViewUISegmentedControl。一个段中的数据比另一个段中的少。旋转或分段切换后,我调用reloadData 以确保显示整个数据。这样可行。

现在,用户单击一个单元格并使用相同的UISegmentedControl 转到另一个视图。打算使用相同的控件,我希望两个视图都显示相同的数据透视图。当用户在第一个屏幕上看到数据较少的透视图时,就会出现问题,然后转到第二个屏幕并将透视图更改为那里的数据。然后他返回并且无法滚动到表格底部。如果他旋转屏幕或更改片段,一切都会再次正常。

我尝试通过实现viewWillAppear: 并在那里减少/计算tableView 的高度来解决问题。不幸的是,它没有奏效。调用 reloadData 也无济于事。实际上,tableView 在切换段时已经重新加载...但是,我仍然无法看到表格的最后一个单元格。

有什么想法吗?

编辑:

这是我从测试中得到的高度(没有调整大小):

NSLog(@"Before switch: %f, %f", self.tableView.frame.size.height, self.tableView.contentSize.height); --> 切换前:372.000000, 471.000000

NSLog(@"After switch: %f, %f", self.tableView.frame.size.height, self.tableView.contentSize.height); --> 切换后:372.000000, 585.000000

tableView 保持不变,只是 contentSize 增加。我尝试将一个的值设置为另一个的值,减少值等,但我真的不知道应该做什么......

EDIT2:

所有contentSizeheight 值似乎都很好。但是,我意识到问题与屏幕上的自定义标题视图有关。当我从表格视图中删除它时,它会滚动到最后。但是,对于标题视图,它不会。我没有从标题视图中更改任何内容,它只是一个在表格顶部带有按钮的视图。

【问题讨论】:

  • 两个视图的图像会有所帮助。
  • 当你改变 tableView 的大小时显示你的代码
  • tableview的高度你设置了吗?
  • 对于我最后尝试的高度CGRect tableViewFrame = [self.tableView frame]; tableViewFrame.size.height /= 2; [self.tableView setFrame: tableViewFrame];之前,我也是通过bounds计算高度
  • 关于图像.. 视图中没有什么特别之处,只有带有单元格的表格和包含分段控件的工具栏。在第一个视图中,表格中还有另一个视图,就在单元格之前。但我认为这并不重要,它的大小不会改变。

标签: ios objective-c uitableview uiscrollview uisegmentedcontrol


【解决方案1】:

经过几个小时的实验,我将tableViewcontentSize.height 属性增加了1,现在一切正常。我不知道为什么会这样,但它是一个解决方案。顺便说一句,将属性减一会导致相同的结果。在这两种情况下,表格都会正确显示。

【讨论】:

  • 您好 Antiohia,我也遇到了同样的问题,您能发布确切的代码吗?您在哪里称呼它?
  • 嗨,我没有代码了。基本上,我只是更改了 contentSize 高度,强制视图更新它。但根据我的经验,有很多事情可能会导致这个问题,在确保所有高度都很好之后,将高度改变一个是我尝试的最后一个解决方案。
  • 我尝试了很多东西,我的身高很好,我最终改变了我的设计=/
【解决方案2】:

这是因为您的 tableView 的框架高度超出了可见区域。将 tableView 的框架高度降低到可见区域内。你会看到一切。

tableView.contentSize = CGSizeMake(widthYouWant, heightYouWant);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    • 2016-07-22
    • 2013-09-12
    • 2012-01-07
    • 1970-01-01
    相关资源
    最近更新 更多