4

我知道我可以SVProgressHUD在需要向用户显示整个屏幕上正在加载某些内容的任何时候使用。

UITableView但是,在 iOS 7 设计指南中是否有一种传统的方式来显示活动指示器或微调器。我认为 SVProgressHUD 在 iOS 7 中很丑,我认为必须有更好的解决方案。

苹果这样做的方式是什么?

4

2 回答 2

2

苹果这样做的方法是在表格视图的顶部显示活动指示器。

您可以检查 Native Mail 应用程序的工作情况。

邮件应用

执行 -

UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
[refreshControl addTarget:self action:@selector(handleRefresh:) forControlEvents:UIControlEventValueChanged];
self.refreshControl = refreshControl;

您可以使用这些方法开始/停止刷新。

– beginRefreshing – endRefreshing

于 2013-10-31T07:30:54.973 回答
0

我也考虑了一段时间,并提出了以下解决方案:

通过利用表格视图的backgroundView属性,您可以设置一个专用的背景视图,它可以按照您想要的方式设置样式。

  1. 在 Storyboard 中创建一个 UIViewController 并按照您想要的方式设置视图样式。我的建议:一个 UIActivityIndi​​catorView 和一个 UILabel 水平和垂直居中。
  2. 为视图控制器设置故事板 ID。
  3. viewDidLoad方法中粘贴以下代码,将创建的视图分配给表格视图的背景。确保将标识符设置为之前设置的任何内容。

    self.tableView.backgroundView = ((UIViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"yourStoryboardID"]).view;
    self.tableView.backgroundColor = [UIColor whiteColor];
    
  4. 每当您准备好隐藏加载视图时,只需执行以下操作:

    self.tableView.backgroundView.hidden = YES;
    

我希望这有帮助。

于 2014-03-18T17:34:31.133 回答