2009-08-14 3 views
0

나는 사용자가 뷰를 전환하거나 버튼 클릭과 같은 다른 뷰로 이동할 때 다음 뷰가로드 중임을 나타내는 메시지를 표시하는 UIActivityIndicatorView가 있습니다. UIActivityIndicatorView를 추가하여 사용자 상호 작용을 사용하기 전에 API에서 현재 뷰에 표시되도록 가져 오는 데이터를 완료 할 수 있도록했습니다. UIActivityIndicatorView는 현재보기가 백그라운드에서로드 될 때 대기 메시지와 함께 올바르게 움직입니다. 그러나 뷰로드가 완료된 후에도 UIActivityIndicatorView는 애니메이션을 멈추지 않고 영원히 계속됩니다! 나는 removeToSuperview뿐만 아니라 [중지 애니메이션]을 시도했지만 어느 것도 작동하지 않는 것 같습니다. 이 문제를 긴급히 해결해야합니다.iphone - UIActivityIndicatorView가 애니메이션을 멈추지 않습니다.

을 heres 번호 : - (공극) showWorkInProgress { NSAutoreleasePool 풀 * = [NSAutoreleasePool의 ALLOC] INIT];

progressAlert = [[UIAlertView alloc] initWithTitle:@"Loading Data" 
                  message:@"Please wait..." 
                  delegate: self 
               cancelButtonTitle: nil 
               otherButtonTitles: nil]; 


    activityView = [[UIActivityIndicatorView alloc] 

initWithActivityIndicatorStyle : UIActivityIndicatorViewStyleWhite]; activityView.frame = CGRectMake (139.0f-18.0f, 80.0f, 37.0f, 37.0f); [progressAlert addSubview : activityView];

[activityView startAnimating]; 

    [progressAlert show]; 

    [pool drain]; 

} - (무효)의 viewDidLoad {

self.title = @"WordLife"; 
    UIImage *image = [UIImage imageNamed: @"cena.png"]; 
    UIImageView *imageview = [[UIImageView alloc] initWithImage: image]; 
    self.navigationItem.titleView = imageview; 

    [imageview release]; 
    self.navigationItem.leftBarButtonItem.title = @"Back"; 


    [activityView removeFromSuperview]; 
    activityView = nil; 
    [super viewDidLoad]; 

}

답변

1

당신은 당신의 코드를 게시 할 수 있습니까? 어쩌면 첫 번째 UIActivityIndicatorView를 다른 것으로 대체하거나 애니메이션을 시작하기 전에 sopAnimating 선택기를 호출 할 수 있습니까?

아마도 더 좋은 해결책입니다.
stopAnimating-selector를 호출 한 후 (또는 그 전에) NSLog를 배치하면 로그에서 ' stopAnimating'- 셀렉터가 호출됩니다.

관련 문제