2012-06-14 6 views
0

UIWebView가있는보기 컨트롤러가 있습니다. 사용자가 웹 페이지가로드 중임을 알 수 있도록 오른쪽 상단에 활동 표시기를 표시하고 싶습니다. 그러나 빌드 & 실행시 활동 모니터가 표시되지 않습니다.내 인터페이스에 UIActivityMonitor를 어떻게 추가합니까?

webView라는 UIWebView 콘센트와 activityIndicator라는 UIActivityIndicatorView 콘센트가 있습니다.

여기 내 구현 : 내 스토리 보드에

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    webView.delegate=self; 
    [self.view addSubview:activityIndicator]; 
    NSString *fullURL = @"http://www.oncologyeducation.com"; NSURL *url = [NSURL URLWithString:fullURL]; NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 
    [webView loadRequest:requestObj]; 
} 

- (void)viewDidUnload 
{ 
    [self setWebView:nil]; 
    [self setActivityIndicator:nil]; 
    [self setActivityIndicator:nil]; 
    [super viewDidUnload]; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    if (interfaceOrientation==UIInterfaceOrientationPortrait || interfaceOrientation==UIInterfaceOrientationPortraitUpsideDown) { 
     return NO; 
    } else { 
     return YES; 
    } 
} 

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { 
    return YES; 
} 

-(void) webViewDidStartLoad:(UIWebView *)webView{ 
    NSLog(@"load started"); 
    [activityIndicator startAnimating]; 
    activityIndicator.hidden = NO; 
} 

-(void) webViewDidFinishLoad:(UIWebView *)webView{ 
    NSLog(@"load finished"); 
    [activityIndicator stopAnimating]; 
    activityIndicator.hidden = YES; 
} 

-(void) webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{ 
    [activityIndicator stopAnimating]; 
    activityIndicator.hidden = YES; 
} 
@end 

, 내가 파일의 소유자에 연결되어 작동 표시등 볼 수 있습니다. 모든 조언을 주셔서 감사합니다!

+0

은 현재보기에 추가 된 activityIndicator입니다. –

+0

NIA와 해당 UIActivityIndicatorView에 대한 '-addSubview' 호출을 사용하는 이유는 무엇입니까? – CodaFi

+0

@CodaFi - 당신 말이 맞아요, 그럴 필요는 없었습니다. 하위 뷰를 추가 할 필요가 없습니다. 코드를 다시 사용하려는 사용자는 다음 줄을 잃게됩니다. [self.view addSubview : activityIndicator]; xCode가 일종의 변덕스럽고 잘못된 스토리 보드를 컴파일시 프로젝트에 복사하는 것으로 나타났습니다. 스토리 보드의 이름을 변경하고 프로젝트 설정에서 새 이름으로 설정하면 표시기가 기쁨으로 돌아갑니다! – eatsleeptrumpet

답변

0

@CodaFi - 맞아요, 그럴 필요는 없습니다. 하위 뷰를 추가 할 필요가 없습니다.

[self.view addSubview:activityIndicator]; 

엑스 코드가 남았습니다 종류의 행동 및 컴파일에 프로젝트에 잘못된 스토리 보드에 복사 된 밝혀 : 코드를 재사용 줄을 잃고 싶어

누구. 스토리 보드의 이름을 변경하고 프로젝트 설정에서 새 이름으로 설정하면 표시기가 기쁨으로 돌아갑니다!

관련 문제