В чем проблема с кнопкой возврата в моем UIWebView? - PullRequest
0 голосов
/ 06 декабря 2010

У меня есть проблема в моем приложении, я написал код для кнопки «Назад» в моем webView setEnabled = NO, но когда приложение запущено и webViewDidFinishLoad кнопка «Назад» setEnabled = YES. Я перепробовал все возможности, чтобы включить кнопку «Назад» равной ложь, но это не работает.

   -(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 голосов
/ 06 декабря 2010

На самом деле я не совсем понимаю проблему, с которой вы столкнулись, но я вижу две потенциальные проблемы:

1) Вы устанавливаете backTapped и forwardTapped на YES, но никогда нигде не устанавливаете их на NO.

2) Возможно, у вас нет кнопок «назад» или «вперед», встроенных в xib - если они равны нулю, то back.enabled = NO ничего не сделает.

Редактировать:

Эта логика выглядит задом наперед:

if (!backTapped)
   back.enabled = NO;

В вашем коде вы установили backTapped на YES, тогда этот код срабатывает так! BackTapped is!ДА, который НЕТ.

Попробуйте

if (backTapped)
   back.enabled = NO;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...