以编程方式定义的uiwebview不可见

时间:2012-06-10 12:00:02

标签: iphone objective-c ios xcode cocoa-touch

我正在以编程方式定义一个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它可以工作,但问题似乎是在IB上设置了webviewsocial并且此编码后不再可见。

2 个答案:

答案 0 :(得分:0)

一些一般性说明:

  • 确保self.vistaSocial不是
  • 确保将self.vistaSocial添加到self.view

也不要释放webView然后重新初始化它 只需更改现有webView的属性即可 例如,如果要更改现有webView的框架并将其移动到新的超级视图,则可以执行以下操作

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

您无需释放它并重新初始化新的

答案 1 :(得分:0)

我建议删除webViewSocial作为IB对象,因为你实际上将它设为nil然后以编程方式重新初始化它,这是多余的。

如果清除浏览器历史记录是最终目标,请尝试以下方法:

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