Iphone 重新加载UIWebView
我在viewDidLoad中使用这样的UIWebView:Iphone 重新加载UIWebView,iphone,url,uiwebview,webview,nsurlrequest,Iphone,Url,Uiwebview,Webview,Nsurlrequest,我在viewDidLoad中使用这样的UIWebView: webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 88, 320, 400)]; // init and create the UIWebView webView.autoresizesSubviews = YES; webView.userInteractionEnabled = NO; webView.autoresizingMask=(UIV
webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 88, 320, 400)]; // init and create the UIWebView
webView.autoresizesSubviews = YES;
webView.userInteractionEnabled = NO;
webView.autoresizingMask=(UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth);
[webView setDelegate:self];//set the web view delegates for the web view to be itself
NSURLRequest *requestObject = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.apple.com"]];//Create a URL object & Set the URL to go to for your UIWebView
[webView loadRequest:requestObject];//load the URL into the web view.
[self.view addSubview:webView];//add the web view to the content view
[webView release], webView = nil;
当我尝试更改页面时,我尝试但它不起作用:
[webView loadRequest: [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.facebook.com"]]];
[webView reload];
上面的代码是一个TabBar按钮的操作
**编辑:
当我评论
[webView release], webView = nil;
当我按下按钮时,我可以看到苹果的网站,但不能看到facebook!屏幕在苹果网站上刷新,而不是在facebook上**
感谢您的帮助;-) 您已发布并将webView设置为零。因此,该对象不再存在。您正在调用loadRequest并在一个nil对象上重新加载,该对象将不起任何作用 假设类中有webView作为实例变量,请删除该行
[webView release], webView = nil;
相反,当您调用
[webView loadRequest: [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.facebook.com"]]];
然后,您将在一个不会执行任何操作的nil对象上调用它。我看到的潜在问题是,在将webView值添加为子视图后,但在重新加载之前,您将其设置为nil:
[webView loadRequest: [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.facebook.com"]]];
[webView reload];
这里的
webView
为零。。。对象仍然存在(因为它嵌入到视图中),但变量不再指向它,因此消息被忽略。您在哪里尝试过这段代码
[webView loadRequest: [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.facebook.com"]]];
[webView reload];
您已经发布了webview并将其设为零。因此,如果你在加载www.apple.com后再这样做,它将无法工作
[webView release], webView = nil;
删除上述两行一次,然后重试。它应该会起作用。
希望对您有所帮助。无需重新加载
- (void) webViewDidFinishLoad:(UIWebView *)webView
{
[webView loadRequest: [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.facebook.com"]]];
}
这可能会有帮助 阅读您的代码时,我猜您的
webView
在头文件中声明为@property
。在加载Apple站点后释放此对象。我认为这就是为什么它没有加载facebook网站的原因
[webView发布]代码>只能放在-(void)dealloc
方法中
请让我知道它是否有效 您不需要执行[webView重新加载];在[webView loadRequest:…]之后;。好的,它现在工作得很好!我已经删除了这两行,并把你的和所有的是好的,谢谢@clement别忘了,您仍然需要在webView上调用release,否则会泄漏内存。把它放在你的dealloc方法中是的,谢谢,我在dealloc方法中放了“[webView release]”