Is it possible to preserve the state of the UIWebView (e.g the current webpage, back/front list) in the current app launch? For example, if I dealloc a webview, and at some point in the future, I want to recreate it - is it possible to give it the prior state?
-
Do you want similar like [this stack](http://stackoverflow.com/questions/3218476/loading-a-web-page-in-iphone-and-check-history)? – cjd Jan 10 '14 at 09:51
-
no I think he wants to load the page, jump to the same point and zooming like before, and maybe even pre fill all form fields with previous entered data. Think of an endless scroll view like 9gag or deviantArt, and you want to jump to the same position like before – Jan 10 '14 at 11:05
-
you can find your solution form below link: http://stackoverflow.com/questions/14587983/how-does-ios-6-uiwebview-state-restoration-work – Shubham Jan 16 '14 at 05:55
2 Answers
Good Approach
In iOS 6 and later, if you assign a value to this view’s restorationIdentifier property, it attempts to preserve its URL history, the scaling and scrolling positions for each page, and information about which page is currently being viewed. During restoration, the view restores these values so that the web content appears just as it did before. For more information about how state preservation and restoration works, see iOS App Programming Guide.
You could try caching the web page, this should get you started. Also, you could try and save the HTML string of the webpage and then use loadHTMLString:baseURL:
method of the UIWebView
class.
Or you could try and give it a shot with passing the NSURLRequestReturnCacheDataElseLoad
as the cache policy of your NSURLRequest
, which should cache the data loaded and try to use it whenever it will be requested again.
Good luck!