每个视图都使用相同的 WebView [英] Same WebView on every view

查看:21
本文介绍了每个视图都使用相同的 WebView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

基本上我在 SecondViewController 上有一个 WebView 并且我希望 WebView 在每个视图上都像标签栏一样可见并且完全可控在每个视图上.

Basically i have a WebView on SecondViewController and I wish for the WebView to be visible on every view like a tab bar and fully controllable on each view.

请注意 WebView 将在带有在线幻灯片的网页上,所以我不能简单地在每个视图上重新加载

Please note the WebView will be on a webpage with a online slideshow so I cannot simply reload on each view

也在 SecondViewController 中我有

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

推荐答案

我只是设置了一个单独的 UIWebView,并在该视图控制器即将变为可见时将其添加到每个视图控制器视图中.这是一种方法:

I'd just set up a singleton UIWebView and add it to each view-controller-view when that view controller is about to become visible. Here's one way to do it:

//.h

@interface SharedWebView : UIWebView
{
}

+ (SharedWebView*) shared;

@end

//.m

SharedWebView* g_sharedWebView;

@implementation SharedWebView


+ (SharedWebView*) shared 
{
    if ( g_sharedWebView == nil )
    {
        g_sharedWebView = [[SharedWebView alloc] init];

        // ... any other intialization you want to do
    }

    return g_sharedWebView;
}

@end


// in your view controller(s)

@property (readonly) UIWebView* webView

- (UIWebView*) webView
{
    return [SharedWebView shared];
}

- (void) viewWillAppear: (BOOL) animated
{
    [super viewWillAppear: animated];

    [self.view addSubview: self.webView ];
    self.webView.frame = CGRectMake(10, 10, 300, 300);

    // want to re-set the delegate?
    // self.webView.delegate = self;
}

这篇关于每个视图都使用相同的 WebView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆