2009-09-24 4 views
0

У меня есть UIWebView, показывающий и HTML-страница с некоторыми флажками, переключателями. В моем приложении есть контроллер панели, который переключает два контроллера. Как я могу поддерживать текущее состояние UIWebView. (например, я выбрал флажок, и я изменяю вкладку и перехожу к другому ViewController и снова возвращаюсь к UIWebView. WebView сбрасывает себя и переходит в начало ... Я хочу поддерживать состояние UIWebView (все отмеченные флажки) .. как я буду делать это ??iphone - как определить состояние UIWebView?

любая идея ??

заранее спасибо

ответ

2

Это звучит, как вы загружаете веб-просмотра в viewDidAppear :, или какой-либо другой метод, который вызывается каждый время, когда вы переключаетесь на вкладку. Если вы загружаете свой веб-просмотр в viewDidLoad: он будет загружаться только один раз и будет сохранять свое состояние при переключении вкладок.


EDIT: Когда я писал этот ответ еще в 2009 году, я, видимо, не понял, жизненный цикл зрения контроллера, а я думал, что я сделал. Кори Флойд был прав. Метод viewDidLoad: также может быть вызван несколько раз, потому что UIViewController выгрузит его представление в ситуациях с низкой памятью, если представление не отображается. Когда пользователь переключается на представление, viewDidLoad снова вызывается для восстановления вида.

Как смущающе.

+1

Верно, но добавьте оговорку: если контроллер представления получает предупреждение о сохранении памяти, когда представление выключено, оно будет уничтожено и его расширение потеряет свое состояние. –

0

У меня есть идея, которая может помочь:

  • , чтобы получить состояние вашего приложения на веб-странице, дают переменные значения в качестве параметров запроса с названием URL и пусть веб-страницы, обрабатывать их и просматривать элементы формы соответственно.
  • , чтобы вернуть статус с веб-страницы к вашему приложению, обновить веб-страницу каждый раз, когда обновляется какой-либо элемент, а новый URL-адрес дает новые значения измененных элементов. Вернемся к вашему приложению, вы можете реализовать UIWebViewDelegate и внутри метода WebViewDidFinishLoad (или WebViewDidStartLoad по своему усмотрению) используйте webView.request.URL для синтаксического анализа параметров GET и обновления вашего приложения.

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

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