iOS preserve state of UIWebView?

2.1k views Asked by At

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?

2

There are 2 answers

0
codercat On BEST ANSWER

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.

1
nemesis On

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!