UIWebView がコンテンツをロードしている間に表示される空白の白いウィンドウを回避しようとしています。UIWebView に背景を配置する代わりに、現在のウィンドウに HUD を配置し、コンテンツが読み込まれたときに uiwebview を含む新しい uiviewcontroller をプッシュしたいと思います。これが私がやったことです(コードは正気のために短縮されています):
ファーストビュー:
MyViewController *myVC = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
myVC.parentController = self.navigationController;
UIView *myView = [myVC view]; // Force view to load
MyViewController:
- (void)viewDidLoad
{
...
[myWebView setDelegate:self];
[myWebView loadHTMLString:htmlString baseURL:baseURL];
...
}
- (void) webViewDidFinishLoad:(UIWebView*) webView {
[parentController pushViewController:self animated:YES];
}
OK、それviewDidLoad
で呼び出されていますが、uiwebviewdelegate メソッドはどれも呼び出されていません。ただし、View Controllerをプッシュすると
ファーストビュー:
MyViewController *myVC = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
[self.navigationController myVC animated:YES];
次に、すべての uiwebviewdelegate メソッドMyViewController
が呼び出されます。
私は立ち往生しています。