Je suis en train de charger une URL distante dans un Webview, et je veux montrer un spinner pendant le chargement du contenu. J'ai le code suivant, mais le spinner ne disparaît pas quand le contenu finit le chargement. Comment faire pour que le spinner disparaisse après le chargement du contenu?Webview chargement spinner dans 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];
}
Comment puis-je savoir quand le châssis principal a fini de charger? – Chetan
Ce que je veux dire est, où puis-je mettre la commande 'stopAnimation'? – Chetan
Peu importe, je l'ai. Pour l'enregistrement, vous devez définir la fonction suivante dans la même classe: - (void) webView: (WebView *) expéditeur didFinishLoadForFrame: cadre { \t if ([cadre parentFrame] == néant) { \t \t [noteSpinner setHidden: OUI]; \t \t [affichage de l'expéditeur]; } } – Chetan