我的UIWebView中的后退按钮有什么问题?

时间:2010-12-06 18:02:45

标签: iphone uiwebview

我的应用程序中存在一个问题,即我在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;
                    }

     }

1 个答案:

答案 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;