UIWebView の読み込みが完了するまでメイン スレッドをブロックしようとしていますが、呼び出し[NSThread sleepForTimeInterval:]
後に呼び出す[UIWebView loadRequest:]
と、読み込みが完了しません。webViewDidFinishLoad
デリゲートは、スリープが終了した後に呼び出されます。
なぜこうなった?メインスレッドをブロックするにはどうすればよいですか? から
呼び出しています。私がやろうとしているのは、他の向きの webview が読み込まれるまで、iOS インターフェイスが回転しないようにすることです。loadPage
[ViewController willRotateToInterfaceOrientation:]
- (void)loadPage {
UIWebView* webview2 = [[UIWebView alloc] initWithFrame:rect];
webview2.delegate = self;
NSString* htmlPath = ..... ; // Path to local html file
NSURL *newURL = [[[NSURL alloc] initFileURLWithPath: htmlPath] autorelease];
NSURLRequest *newURLRequest = [[[NSURLRequest alloc] initWithURL: newURL] autorelease];
[webview2 loadRequest:newURLRequest];
[NSThread sleepForTimeInterval:10.0f]; // Why this blocks the uiwebview thread ??
[self.view addSubview:webview2];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSLog(@"Finished loading!");
}