每个视图上都有相同的 WebView

use*_*273 5 iphone objective-c uiwebview

基本上我有一个WebViewSecondViewController我希望WebView在每个视图上都可见,就像选项卡栏一样,并且在每个视图上完全可控。

请注意,该内容WebView将位于带有在线幻灯片的网页上,因此我无法简单地在每个视图上重新加载

也在SecondViewController我有

- (void)webViewDidFinishLoad:(UIWebView *)YouTubePlayer {
Run Code Online (Sandbox Code Playgroud)

Tom*_*ift 1

我只是设置一个单例 UIWebView 并在该视图控制器即将变得可见时将其添加到每个视图控制器视图中。这是一种方法:

//.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;
}
Run Code Online (Sandbox Code Playgroud)