2014-10-30 55 views
0

我正在使用以下代码来显示活动指示器,同时正在加载一些数据。问题是,当我试图再次隐藏它。活动指标保持不变。屏幕照亮了一点,但就是这样。活动指示器不会消失

表现出来:

self.overlayView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds]; 
    self.overlayView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.3]; 
    self.activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; 
    self.activityIndicator.center = self.overlayView.center; 
    [self.overlayView addSubview:self.activityIndicator]; 
    [self.activityIndicator startAnimating]; 
    [self.tableView addSubview:self.overlayView]; 

来隐藏它:

[self.activityIndicator stopAnimating]; 
    [self.overlayView removeFromSuperview]; 
+0

你在使用UITableViewController还是UIViewController? – klefevre 2014-10-30 21:09:19

+0

它在具有静态单元的UITableViewController上。 – 2014-10-30 23:25:00

回答

0

尝试将OverlayView的添加到您的tableView的上海华:

[self.view.superview addSubview:self.overlayView]; 
+0

我试过了。它不会改变它。无论我尝试什么,UIActivityIndi​​catorView都不会消失。 – 2014-10-30 23:57:01

0

我想通了一个stackoverflow问题的组合。这里是我的代码显示UIActivityIndi​​catorView

-(void)loadView { 
    [super loadView];  
    self.overlayView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds]; 
    self.overlayView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.3]; 
    self.activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; 
    self.activityIndicator.center = self.overlayView.center; 
    [self.overlayView addSubview:self.activityIndicator]; 
    [self.tableView addSubview:self.overlayView]; 
    [self.activityIndicator startAnimating];  
} 

这里是隐藏它的代码。它看起来像把代码放在loadView事件中有所不同。

[overlayView removeFromSuperview];