UIWebView не будет запускаться после загрузки HTML в iOS

У меня такая проблема в моем приложении для iPhone: у меня есть webView, который сначала загружается HTML-строкой. После того, как пользователь нажмет на ссылку и загрузит запрошенную страницу, webView не вернется, когда я вызову метод [UIWebView goBack]; Я полагаю, что webView не кэширует строку HTML. Можно ли каким-либо образом сделать кеш WebView моей HTML-строкой без необходимости сохранять ее в самой NSString?

3 Solutions collect form web for “UIWebView не будет запускаться после загрузки HTML в iOS”

Вы можете использовать свойство canGoBack, и если вы не можете вернуться, перезагрузите UIWebView исходным html. Если пользователь перешел по ссылкам по ссылкам, свойство canGoBack вернет YES и в UIWebView можно запустить goBack. _htmlString – это переменная-член, которая устанавливается, когда UIWebView инициализируется с использованием строки HTML. -rrh

 - (void)goBack { if (_htmlString && ![_browserWebView canGoBack]) { [_browserWebView loadHTMLString:_htmlString baseURL:nil]; return; } [_browserWebView goBack]; } 

Это похоже на то, что ваша переменная webview неправильно связана с используемым вами экземпляром webview. Точка останова при этом вызове и проверьте, является ли ваша переменная webView «ноль».

Если это так, убедитесь, что ваш webView в вашем XIB-файле связан с переменной IBOutlet в Interface Builder. Это распространенная ошибка и то, что я обычно забываю при разработке новой страницы в первый раз.

В этом учебном пособии рассматривается LOT о том, как создавать интерфейсы с помощью Interface Builder, который, я уверен, вы знакомы, но для тех, кому это не так полезно. У этого есть несколько хороших скриншотов, которые помогают проиллюстрировать, что я подразумеваю под «привязкой» лучше, чем я набираю «щелкните значок« + »и перетащите маленькую штуку на элемент пользовательского интерфейса» 🙂

http://www.icodeblog.com/2008/07/30/iphone-programming-tutorial-connecting-code-to-an-interface-builder-view/

РЕДАКТИРОВАТЬ

Единственное, что я могу придумать, это то, что вы переписываете переменную webView, повторно инициализируя ее где-то (она уже инициализирована XIB), и поэтому вы вызываете goBack на веб-просмотр, который не существует на экране.

Попробуйте создать NSURLRequest из URL-адреса файла и используйте loadRequest вместо loadhtmlString

 NSURL *htmlFileUrl = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"]; NSURLRequest *localRequest = [NSURLRequest requestWithURL:htmlFileUrl]; self.webView.delegate = self; [self.webView loadRequest:localRequest]; 
  • Производительность Javascript в UIWebView не в текущем ViewController с iOS 8
  • Force IOS UIWebView до 1024px, не 1027px
  • NSURL: URLByAppendingPathComponent: конвертирует? в% 3F, но тогда UIWebView отменяет это преобразование, приводящее к сбоям нагрузки
  • Получите код ответа HTTP из каждого запроса UIWebView
  • Как скрыть UIPopoverController, когда UIWebView воспроизводит полноэкранный фильм с YouTube?
  • Внедрение виджета комментариев Facebook в приложении iOS
  • Как проверить ограничение на 10 Мб UIWebView на JavaScript?
  • Изменена ли совместимость с iOS 7 PNG?
  • Как «переносить» постоянный жест из подсмотра в супервизор без перерыва?
  • Частичный черный фон в UIWebView на iOS7 после установки вставки содержимого
  • можно ли использовать iframe в UIWebView?
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.