0

プログラムで uiwebview を定義していますが、そのデリゲートとリクエストは完了していますが、まだ表示されていません! なぜ?ありがとうございました

// IB で定義された webviewSocial でいくつかのロードを実行し、後で初期化するために nil に設定します。

self.webViewSocial = nil;

self.webViewSocial = [[UIWebView alloc] initWithFrame:CGRectMake(0, 44, 320, 389)];
self.webViewSocial.autoresizingMask=(UIViewAutoresizingFlexibleHeight | 
                                       UIViewAutoresizingFlexibleWidth);
[self.webViewSocial setDelegate:self];
[self.vistaSocial addSubview:self.webViewSocial];

新しい webview を設定すると動作しますが、問題は webviewsocial が IB に設定されているようで、このコーディングの後は表示されなくなります。

4

2 に答える 2

0

webViewSocial実際にはnilにしてからプログラムで再初期化するため、IBオブジェクトとして削除することをお勧めします。これは冗長です。

ブラウザの履歴を消去することが最終的な目標である場合は、代わりに次のことを試してください。

[webViewSocial stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML = \"\";"];
于 2012-06-10T13:20:32.700 に答える
0

一般的な注意事項:

  • self.vistaSocialが nil でないことを確認してください
  • self.vistaSocialが追加されていることを確認してくださいself.view

また、webView を解放してから再初期化しないでください 既存の webView のプロパティを変更するだけです たとえば、既存の webView のフレームを変更して新しいスーパー ビューに移動する場合は、次のようにします。

self.webViewSocial = CGRectMake(0, 44, 320, 389);
[self.vistaSocial addSubview:self.webViewSocial];

それを解放して新しいものを再初期化する必要はありません

于 2012-06-10T12:10:54.443 に答える