我一直在尝试通过本教程为 UITableView 实现覆盖活动指示器 - http://www.markbetz.net/2010/09/30/ios-diary-showing-an-activity-spinner-over-a-适合视图/
它可能有点旧,但除了显示覆盖的边界的小问题外,它似乎运行良好。
我试图在这里得到这些界限:
-(void)showActivityView {
if (overlayController == nil) {
// This is where I get the wrong bounds
overlayController = [[ActivityOverlayController alloc] initWithFrame:self.tableView.bounds];
}
[self.tableView insertSubview:overlayController.view aboveSubview:self.tableView];
}
如果我在加载和填充表格之后调用该方法,但如果我在它得到错误的边界之前调用它,这将获得边界并完美地显示我的叠加层。我试过获取 tableView.superView 的边界,但这只是在左上角显示覆盖。
我知道这是因为 UITableView 在加载之前不包含任何单元格,因此还没有适当的边界,但我不知道如何获取这些单元格。
错误显示:
正确(但在加载表格后)显示: