每个视图都使用相同的 WebView [英] Same WebView on every view
本文介绍了每个视图都使用相同的 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屋!
查看全文