iphone - 如何维护UIWebView的状态?

时间:2009-09-24 10:38:03

标签: iphone uiwebview

我有一个UIWebView显示和HTML页面,其中包含一些复选框,单选按钮。我的应用程序有tabbar控制器,可以切换两个控制器。我如何维护UIWebView的当前状态。 (例如,我选择了一个复选框,然后我更改选项卡并转到其他ViewController并再次返回到UIWebView.WebView重置自己并开始...我想维护UIWebView的状态(单击所有复选框) ..我将如何做到这一点??

任何想法?

提前致谢

2 个答案:

答案 0 :(得分:2)

听起来您正在viewDidAppear中加载Web视图,或者每次切换到选项卡时调用的其他方法。如果您在viewDidLoad:中加载Web视图,它将只加载一次,并在切换标签时保持其状态。


编辑 :当我在2009年写下这个答案时,我显然不理解视图控制器的生命周期以及我以为我做过的事情。科里弗洛伊德是对的。 viewDidLoad:方法也可以被多次调用,因为如果没有显示视图,UIViewController将在低内存情况下卸载其视图。当用户切换回视图时,再次调用viewDidLoad来重建视图。

多么尴尬。

答案 1 :(得分:0)

我有一个可能会有所帮助的想法:

  • 要从您的应用程序获取状态到网页,请将变量的值作为请求参数与被调用的URL一起使用,让网页处理它们并相应地查看表单元素。
  • 要将网页状态返回到您的应用,请在每次更新任何元素时刷新网页,并使用新网址提供已更改元素的新值。回到你的应用程序,你可以实现UIWebViewDelegate,并在方法WebViewDidFinishLoad(或你喜欢的WebViewDidStartLoad)中使用webView.request.URL来解析GET参数并相应地更新你的应用程序。
希望这会有所帮助。