PDF 파일이로드 될 때까지 루프해야하는 UIActivityIndicator가 있습니다.Xcode - UIActivityIndicator가 너무 빨리 사라집니다.
이유를 이해할 수 없지만 PDF가로드되기 전에 표시기가 사라집니다. PDF 파일은 (1,4 MB) 너무 큰 경우 나는
-(void)startTheProcess {
act = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
//coordinate act
[act setCenter:CGPointMake(320/2, 440/2)];
self.act.hidden = FALSE;
[self.view addSubview:act];
[act startAnimating];
[UIApplication sharedApplication].networkActivityIndicatorVisible = TRUE;
[NSThread detachNewThreadSelector:@selector(creaVista) toTarget:self withObject:nil];
}
- (void) creaVista{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSURL *url = [NSURL URLWithString:@"http://www.something.com/file.pdf"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[pdfView loadRequest:request];
[pdfView setScalesPageToFit:YES];
[self performSelectorOnMainThread:@selector(processDone) withObject:nil waitUntilDone:NO];
[pool release];
}
-(void)processDone {
[act stopAnimating];
[UIApplication sharedApplication].networkActivityIndicatorVisible = FALSE;
}
나는 그것을 디버깅, 내가 쉽게 볼 수 있습니다 내가 코드에서 뭔가 잘못 쓴 내 응용 프로그램이 정지하는 경우, 또는 경우에, 이해할 수없는 디버거가 [act stopAnimating]
으로 빠르게 이동 한 다음 중지되지만 파일이 아직로드되지 않은 경우 : 몇 초 후에 PDF가 나타납니다.
힌트가 있습니까? 나는 멍청하고 실수를하고 있다고 생각합니다. 감사합니다.
[pdfView loadRequest를 : 요청]'은 비동기식 연산이므로 즉시 반환하고'[act stopAnimating]'을 호출합니다. 또한, 당신은'createVista :'와'processDone :'을 마지막에 호출 할 때 애니메이션을 멈추려 고합니다. – Joshua
죄송합니다, 복사 오류. in creaVista 나는 행동을 멈추지 않는다 ... – Miwi
당신의 pdfView가 뷰 레이어 계층 구조에서 활동 표시기 위에 있습니까? – gdavis