2

WebviewにリモートURLをロードしていますが、コンテンツのロード中にスピナーを表示したいと思います。次のコードがありますが、コンテンツの読み込みが完了してもスピナーが消えません。コンテンツが読み込まれた後にスピナーが消えるようにするにはどうすればよいですか?

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];
}
4

1 に答える 1

2

フレーム ロード デリゲートになり、メイン フレームのロードが完了したら進行状況インジケーターのアニメーションを停止します。

did-finish-load メッセージを受け取ったフレームが Web ビューのメイン フレームである場合にのみ、アニメーションを停止します。ネストされたフレームや iframe を含む、Web ビュー内のすべてのフレームに対して、これらのメッセージの 1 つを受け取ります。途中でアニメーションを停止したくありません。

于 2010-01-21T05:10:21.557 に答える