我有一个标签栏控制器,一个标签屏幕包含一个网页视图,加载一个请求说google.com,当它正在加载时(即在webview的didload委托方法调用之前),如果我切换到另一个标签然后回过头来,微调器仍然在运行,但页面永远不会被加载,我猜viewDidLoad只被调用一次,所以我应该将加载代码放在viewDidAppear中,还是要解决这个问题呢?
谢谢!
答案 0 :(得分:0)
我不明白为什么每次出现时都要刷新WebView。但请使用- (void)viewWillAppear:animated
编辑:
好的,既然我现在有更多信息,我可以给你更多信息!
在你的.h:
BOOL *loaded
:
- (void)viewWillAppear:animated {
if (loaded == NO) {
//load the website
}
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[loaded setBool:YES];
}
- (IBAction)loadWebsite {
//if the user reloads or loads a new website do this:
[loaded setBool:NO];
//reload, or load the new website
}
加载或重新加载UITableView:
NSString *urlAddress = urltextfield.text;
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
澄清:如果加载了View,我将BOOL设置为YES,因此当webview完成加载并且用户切换到另一个选项卡,然后返回WebView时不会重新加载。但是如果WebView未完全加载,BOOl将返回NO,WebView将重新加载!当重新加载WebView或加载新网站时,我将BOOL设置为NO,并且循环遍历!请注意,BOOls默认为NO。