我的应用程序中存在一个问题,即我在webView setEnabled = NO
中为后退按钮编写了代码,但是当应用程序启动时,webViewDidFinishLoad
后退按钮setEnabled = YES
。我尝试了所有可能设置启用后退按钮是否等于false但它不起作用。
-(IBAction) backButton : (id) sender{
backTapped = YES;
[webView goBack];
}
-(IBAction) fwdButton : (id) sender{
forwardTapped = YES;
[webView goForward];
}
- (void)webViewDidStartLoad:(UIWebView *)thisWebView{
NSLog(@"webViewDidStartLoad");
[progressWheel startAnimating];
progressWheel.hidden = NO;
if(!backTapped){
back.enabled = NO;
}
if (!forwardTapped) {
forward.enabled = NO;
}
}
- (void)webViewDidFinishLoad:(UIWebView *)thisWebView
{
[progressWheel stopAnimating];
progressWheel.hidden = YES;
if (!backTapped) {
[back setEnabled:thisWebView.canGoBack];
back.showsTouchWhenHighlighted = YES;
}
if (!forwardTapped) {
[forward setEnabled:thisWebView.canGoForward];
forward.showsTouchWhenHighlighted = YES;
}
}
答案 0 :(得分:0)
我实际上无法理解你遇到的问题,但我可以看到两个潜在的问题:
1)你将backTapped和forwardTapped设置为YES,但绝不将它们设置为NO。
2)也许你没有在你的xib中连接“后退”或“前进”按钮 - 如果它们是nil然后back.enabled = NO将什么都不做。
编辑:
这种逻辑似乎是倒退的:
if (!backTapped)
back.enabled = NO;
在你的代码中你将backTapped设置为YES,然后这个代码就被命中了!backTapped是!是,这是NO。
尝试
if (backTapped)
back.enabled = NO;