在iOS 7上指示UITableView上的加载活动的正确方法是什么?

时间:2013-10-31 04:55:06

标签: ios uitableview ios7

我知道只要我需要向用户显示整个屏幕上正在加载某些内容,我就可以使用SVProgressHUD

但是,在iOS 7设计指南中,是否有传统方法在UITableView内显示活动指示符或微调器。我认为SVProgressHUD在iOS 7中只是丑陋而且我认为必须有更好的解决方案。

Apple的做法是什么?

2 个答案:

答案 0 :(得分:2)

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

您可以检查Native Mail应用程序是否正常工作。

Mail App

实施 -

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

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

- beginRefreshing - endRefreshing

答案 1 :(得分: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;
    
  5. 我希望这会有所帮助。