2014-10-30 45 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];