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 它可以工作,但问题似乎是在 IB 上设置了 webviewsocial 并且在此编码之后不再可见。

4

2 回答 2

0

一些一般注意事项:

  • 确保self.vistaSocial不为零
  • 确保将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 回答
0

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

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

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