2014-01-11 5 views
1

У меня есть UIWebView, который я использую для загрузки веб-страницы. У меня также есть кнопки навигации, чтобы вы могли вернуться назад и вперед между загруженными предыдущими страницами. Есть ли способ скрыть навигационные кнопки, когда нет предыдущей веб-страницы?Как скрыть навигационные кнопки uiwebview

ответ

1

Проверить здесь: Why is UIWebView canGoBack=NO in iOS7?

Вы можете включить/отключить ваши навигационные кнопки в методе shouldStartLoadWithRequest с canGoBack и canGoForward методами на UIWebView:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request 
navigationType:(UIWebViewNavigationType)navigationType 
{ 
    if ([webView canGoBack]) 
    { 
     [_browserBackItem setEnabled:YES]; 
    } 
    else 
    { 
     [_browserBackItem setEnabled:NO]; 
    } 
    if ([webView canGoForward]) 
    { 
     [_browserForwardItem setEnabled:YES]; 
    } 
    else 
    { 
     [_browserForwardItem setEnabled:NO]; 
    } 
    return YES; 
} 
+0

Это действительно будет работать, только то, как у меня есть мой кнопки вперед и назад для управления UIWebView не через мои файлы реализации, я делаю это, щелкнув правой кнопкой мыши и перетащив с веб-браузера на кнопку, а затем выберите действие. Что я должен использовать для их реализации в моем файле .m? – user3180303

+0

Я не уверен, что понимаю, что вы имеете в виду. Не могли бы вы разместить захват экрана? Вам нужно связать свои кнопки из вашего .xib-файла с вашим классом и добавить IBOutlet в ваш .h-файл, чтобы вы могли получить к ним доступ в вашем .m-файле. – Damien

+0

Хорошо, это мой .h и справа .m, http://i.imgur.com/gR3oqwy.png, и я связал возвращение и gofoward к webview. – user3180303

0

Я не знаю ничего встроенного в UIWebView, который позволяет это, но, возможно, вы можете попытаться отслеживать страницы с переменной.

Каждый раз, когда запрашивается url-запрос, вызывается метод делегата UIWebView, и вы можете увеличивать его там (see here). Затем уменьшите значение переменной после того, как пользователь выбрал кнопку «Назад».

Надеюсь, что это поможет.

0

вы можете сохранить загруженные страницы в NSArray, например, и протестировать, если этот массив пуст, вы скрываете кнопку.

Чтобы узнать открытые страницы, вы реализуете UIWebViewDelegate в своем классе, а в обратном вызове - webView:shouldStartLoadWithRequest:navigationType: вы сохраняете URL-адрес.

Смежные вопросы