2012-06-10 16 views
0

我正在以編程方式定義uiwebview,並且它的委託和請求已完成但仍然不可見!爲什麼?謝謝以編程方式定義的uiwebview不可見

//對IB上定義的webviewSocial執行一些加載操作,然後將其設置爲零以便在啓動之後進行初始化。

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它可以工作,但問題似乎是在IB上設置了webviewsocial,並且此編碼之後不再可見。

+1

如果去掉這個 「self.webViewSocial.autoresizingMask =(UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth);」怎麼了? –

+1

您是否真的將子視圖添加到「UIWebView」?如果不是,則不需要「3 + 4」行。 – skram

+0

也請確保「self.vistaSocial」不爲空,並將self.vistaSocial添加到self.view –

回答

0

的一般常識:

  • 使確保self.vistaSocial不是零
  • 確保self.vistaSocial添加到self.view

而且不釋放web視圖,然後重新初始化它 只是改變現有webView的屬性例如,如果要更改現有webView的框架並將其移動到新的超級視圖,您可以會做以下

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

你不需要將其釋放並重新初始化一個新

+0

兩個第一點檢查和正確完成。我需要釋放和初始化一個新的,因爲如果沒有,歷史不會重置!建議代碼只設置不同的框架 – Jaume

0

我建議刪除webViewSocial爲IB對象,因爲你實際上使其零,然後再對其進行初始化程序,它是多餘的。

如果清除瀏覽器的歷史是最終的目標,試試這個來代替:

[webViewSocial stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML = \"\";"]; 
+0

清晰的瀏覽記錄是我的目標,但這是行不通的。究竟應該做什麼? – Jaume