在每个视图上控制和访问webview

时间:2010-12-30 13:05:08

标签: iphone objective-c uiwebview webview

基本上我在SecondViewController上有一个webview,我希望webview在每个视图上都可见,比如标签栏,并且每个视图都可以完全控制。

请注意,网页视图将在一个带有在线幻灯片的网页上,因此我无法在每个视图上重新加载

同样在SecondViewController中我有

- (void)webViewDidFinishLoad:(UIWebView *)MyWebView {

我试过这个

[self.view addSubview: SecondViewController.MyWebView ]

但我不相信我正确使用它,因为我不知道如何声明SecondViewController

由于

梅森

2 个答案:

答案 0 :(得分:0)

不明白你想要什么,但你可以模态地呈现你的控制器:

MyWebViewController *wvc = [[MyWebViewController alloc]init];
wvc.myUrlIWantToOpenOnStart = @"http://www.mysampleurl.com";
[self presentModalViewController:wvc];
[wvc release];

答案 1 :(得分:0)

Apple说当时只有一个UIViewController,以避免方向问题和发送给视图控制器的其他通知。

所以对于你的问题,我建议你有一个UIViewController管理你所有的视图(作为视图控制器视图的子视图),并将webview作为子视图,但显示在其他子视图前面。

因此,当您需要更改视图时,只需在旧视图中执行removeFromSuperview,并在新视图中执行addSubview。

如果您确实需要为视图使用不同的UIViewController,则可以创建一个包含UIWebView成员和isLoaded布尔成员的单例类(单例类是UIWebView的委托,它检查内容是否已加载到set isLoaded member。

当您需要UIWebView时,只需使用单例类获取它,添加为子视图并检查内容是否已经加载了isLoaded成员。

如果尚未加载内容,请在UIWebView上执行loadURL。