如何使用多个UITabBar突片,用于控制单个的UIWebView?

的示例:

Pressing tab1: UIWebView loads index.html
Pressing tab2: the same UIWebView loads customers.html
Pressing tab3: the same UIWebView loads tos.html

我的方法是把每一个视图控制器在AppDelegate中的一个UIWebView并设置self.webview到单一的UIWebView。然而,web视图得到显示,但是是白色的,不加载任何东西。

任何提示?

有帮助吗?

解决方案

网页视图是昂贵,因此你的方法可能是正确的,但你可能要与建立在每个选项卡视图控制器独立的WebView启动出去看看,如果你希望有第一件事是工作。开销可能会开始导致您的应用程序开始接收内存警告,但这至少让你看到,如果你的网页至少会正确加载在这方面。

此外,您还可以张贴一些代码,会显示您加入的网页视图每个视图控制器?如果你一旦你添加的网页流量为您的视图控制器视图的子视图不设置使用-setFrame,网页视图的框架,它不会正确显示。

其他提示

您需要-removeFromSuperview然后-addSubview四处移动的WebView;只是重新分配给一个实例变量不会获得成功。

标签栏是真正为你正在尝试做了错误的模型。如果你想切换的内容,你真正想要的是一个工具栏,因为这意味着改变的就地视图以不同的方式 - 的TabBar是为多个不相关的视图之间切换,这样你在对抗它,当你尝试使用跨越多个标签相同的视图。

现在,如果你真的有完全无关的内容,为什么不直接使用不同的UIWebViews中,每个选项卡一个考虑。他们没有那么沉重,有多个实例装载好痛什么,直到压,因此他们不会在所有负载,在一次标签不加载内容。为了节省内存,你甚至可以扔掉视图控制器标签切换时。但有每个视图管理自己的网络视图更有意义,并意味着你可以保持内容缓存要容易得多。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top