2014-10-30 3 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

+0

정적 셀이있는 UITableViewController에 있습니다. –

답변

0

에 한번 당신의있는 tableView의 수퍼에 있도록 OverlayView을 추가 :

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

나는 그것을 시험해 보았다. 그것은 그것을 변경하지 않습니다. UIActivityIndicatorView를 시도해도 아무 문제가 없습니다. –

0

내가 그것을 알아 냈 stackoverflow 질문의 조합. 다음은 UIActivityIndicatorView를 표시하는 코드입니다.

-(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]; 
관련 문제