2010-01-21 4 views
2

Я загружаю удаленный URL-адрес в веб-обозревателе, и я хочу показать счетчик при загрузке содержимого. У меня есть следующий код, но прядильщик не исчезает, когда содержимое заканчивается загрузкой. Как сделать так, чтобы spinner исчез после загрузки содержимого?Webview загрузка spinner в Xcode

NSURL *noteURL = [NSURL URLWithString:@"http://google.com/"]; 
NSString *defaultNote = @"Hello there"; 

NSRect frame = [[noteView superview] frame]; 
noteSpinner = [[[NSProgressIndicator alloc] initWithFrame:NSMakeRect(NSMidX(frame)-16, NSMidY(frame)-16, 32, 32)] autorelease]; 
[noteSpinner setStyle:NSProgressIndicatorSpinningStyle]; 
[noteSpinner startAnimation:self]; 
//webViewFinishedLoading = NO; 
[[noteView superview] addSubview:noteSpinner]; 

if (noteURL) 
{ 
    if ([noteURL isFileURL]) 
    { 
     [[noteView mainFrame] loadHTMLString:@"Release notes with file:// URLs are not supported for security reasons—Javascript would be able to read files on your file system." baseURL:nil]; 
    } 
    else 
    { 
     [[noteView mainFrame] loadRequest:[NSURLRequest requestWithURL:noteURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30]]; 
    } 
} 
else 
{ 
    [[noteView mainFrame] loadHTMLString:defaultNote baseURL:nil]; 
} 

ответ

2

Be the frame load delegate и stop the progress indicator's animation, когда основная рама завершения загрузки.

Остановите анимацию только тогда, когда кадр, на который вы получили сообщение с завершенной загрузкой, является основным фреймом веб-представления. Вы получите одно из этих сообщений для каждого фрейма в веб-представлении, включая вложенные фреймы и фреймы. Вы не хотите преждевременно останавливать анимацию.

+0

Как узнать, когда основной фрейм заканчивает загрузку? – Chetan

+0

Что я имею в виду, где я могу поставить команду 'StopAnimation'? – Chetan

+1

Ничего, получилось. Для записи, необходимо определить следующую функцию в том же классе: - (Недействительными) Webview: (WebView *) отправитель didFinishLoadForFrame: кадр { \t если ([кадр parentFrame] == ноль) { \t \t [noteSpinner setHidden: YES]; \t \t [дисплей отправителя]; } } – Chetan

 Смежные вопросы

  • Нет связанных вопросов^_^