【发布时间】:2026-02-23 22:20:03
【问题描述】:
在 iOS 6 中,我在我的应用程序中使用 QuickDialog 创建了一个 UITableView。它正常滚动。当我切换到 iOS 7 时,相同的 UITableView 无法正常滚动。我可以拖动到底部(滚动条压缩),但是当我释放时,它会弹回到顶部。我一直在使用viewDidAppear 来尝试诊断问题。请参阅下面的代码块。
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSLog(@"Content height: %f",self.quickDialogTableView.contentSize.height);
[self.quickDialogTableView reloadData];
NSLog(@"Content height: %f",self.quickDialogTableView.contentSize.height);
[self.quickDialogTableView layoutIfNeeded];
NSLog(@"Content height: %f",self.quickDialogTableView.contentSize.height);
}
这个块在iOS 7中的输出是
Content height: 0.000000
Content height: 836.000000
Content height: 0.000000
同时,这个块在 iOS 6(模拟器)中的输出是
Content height: 836.000000
Content height: 836.000000
Content height: 836.000000
为了尝试诊断问题,我设置了一个按钮来触发[self.quickDialogTableView reloadData]。每当按下该按钮时,滚动行为就会开始正常运行。然后当我离开视图并返回时,滚动再次失败(直到按下按钮)。为了清楚起见,我尝试将reloadData 单独放入viewWillAppear 中(即删除上面代码块中的最后两行)并且它不能更正滚动。
我正在寻找有关我可以在哪里解决问题的线索。提前感谢您的帮助。
【问题讨论】:
标签: iphone uitableview ios7 quickdialog