【发布时间】:2013-10-31 04:55:05
【问题描述】:
我知道我可以在任何时候使用SVProgressHUD 向用户展示正在整个屏幕上加载的内容。
但是,在 iOS 7 设计指南中,有没有一种传统方式可以在 UITableView 内显示活动指示器或微调器。我认为 SVProgressHUD 在 iOS 7 中只是丑陋,我认为必须有更好的解决方案。
Apple 的做法是什么?
【问题讨论】:
标签: ios uitableview ios7
我知道我可以在任何时候使用SVProgressHUD 向用户展示正在整个屏幕上加载的内容。
但是,在 iOS 7 设计指南中,有没有一种传统方式可以在 UITableView 内显示活动指示器或微调器。我认为 SVProgressHUD 在 iOS 7 中只是丑陋,我认为必须有更好的解决方案。
Apple 的做法是什么?
【问题讨论】:
标签: ios uitableview ios7
苹果的做法是在表格视图的顶部显示活动指示器。
您可以检查 Native Mail 应用程序的工作情况。
实施 -
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
[refreshControl addTarget:self action:@selector(handleRefresh:) forControlEvents:UIControlEventValueChanged];
self.refreshControl = refreshControl;
您可以使用这些方法开始/停止刷新。
--开始刷新 – 结束刷新
【讨论】:
我也考虑了这个问题,并提出了以下解决方案:
通过利用表格视图的backgroundView 属性,您可以设置一个专用的背景视图,该视图可以按照您想要的方式设置样式。
在viewDidLoad 方法中粘贴以下代码,将创建的视图分配给表格视图的背景。确保将标识符替换为之前设置的任何内容。
self.tableView.backgroundView = ((UIViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"yourStoryboardID"]).view;
self.tableView.backgroundColor = [UIColor whiteColor];
当您准备好隐藏加载视图时,只需执行以下操作:
self.tableView.backgroundView.hidden = YES;
我希望这会有所帮助。
【讨论】: