これについていくつか質問があります。これには、html 文字列に埋め込まれたスクリプトに関する解決策があります。私の場合ではありません。
私はios5/6アプリを持っています。initWithNibName
ローディングコードを悪い考えに入れようとしましたが、viewDidLoad
非推奨なので、viewWillAppear
残しました。
- (void) viewWillAppear:(BOOL)animated
{
NSString* detailHtml = [Storage getDetailHtml: -1];// get the last one
//NSLog(@"detailHtml: %@", detailHtml);
if(detailHtml == nil){
NSLog(@"Can't load the detail");
detailHtml = @"<html><body>Some text here</body></html>";
}
[webView loadHTMLString:detailHtml baseURL:nil];
[super viewWillAppear:animated];
}
このコードの問題は点滅です。UIViewContoller が表示され、1 ~ 2 秒後に HTML が表示されるよりも白い webView が表示されます。HTML にはいくつかのテキストがありますが、base64 でエンコードされた画像も含まれています。ここには JavaScript はありません。インライン CSS (外部ファイルなし)、テキスト、および Base 64 でエンコードされた画像のみです。
テキストにプリロードすることもできdetailHtml
ますが、表示には時間がかかると思います。
webView が html の読み込みを完了するまで、ViewController を表示しないことは可能ですか? - いくつかのコールバック?
助言がありますか?