我知道论坛中有很多问题的答案,但他们没有帮助我。这是我的问题。
我UITableView
有UISegmentedControl
。一个段中的数据比另一个段中的少。旋转或分段切换后,我调用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
。我尝试将一个的值设置为另一个的值,减少值等,但我真的不知道应该做什么......
编辑2:
一切contentSize
和height
价值观似乎都很好。但是,我意识到问题与屏幕上的自定义标题视图有关。当我从表格视图中删除它时,它会滚动到最后。但是,对于标题视图,它不会。我没有从标题视图中更改任何内容,它只是一个在表格顶部带有按钮的视图。