两个 uiwebview 的相同实例 viewController swift ios
same instance of uiwebview in two viewController swift ios
这是我的情况
我有这个设置,
UIWebView webView
ViewControllerA {
IBOutlet weak var webView : UIWebView
override viewDidLoad {
doSomething()
}
}
ViewControllerB {
IBOutlet weak var webView : UIWebView (different instance! wrong)
override viewDidLoad {
doSomethingDifferent()
}
}
我使用标签栏控制器从视图 A 移动到视图 B
我想将我的 webView 从 viewA 移动到 viewB,这样我就可以在视图底部显示具有不同信息的完全相同的网页,具体取决于我是在 viewA 还是 viewB
由于 webview 可以播放视频,我希望该视频同时在两个视图中播放,所以我无法重新加载 webview,只需移动它即可。
有什么想法可以实现吗?已经尝试过容器视图,但它仍然是 UIWebView 的两个不同实例...是否可以在界面生成器或 swift 中完成?
由于强制解包,以下代码不安全,但您可以作为参考。我已将 globalWebView
声明为全局变量。
第一个视图控制器:
var globalWebView: UIWebView?
class FirstViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
globalWebView = UIWebView(frame: CGRectMake(20, 30, 300, 300))
globalWebView?.loadRequest(NSURLRequest(URL: NSURL(string: "https://www.youtube.com/embed/XLpDiIVX0Wo")!))
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
self.view.addSubview(globalWebView!)
}
}
第二视图控制器:
class SecondViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
self.view.addSubview(globalWebView!)
}
}
这是我的情况
我有这个设置,
UIWebView webView
ViewControllerA {
IBOutlet weak var webView : UIWebView
override viewDidLoad {
doSomething()
}
}
ViewControllerB {
IBOutlet weak var webView : UIWebView (different instance! wrong)
override viewDidLoad {
doSomethingDifferent()
}
}
我使用标签栏控制器从视图 A 移动到视图 B 我想将我的 webView 从 viewA 移动到 viewB,这样我就可以在视图底部显示具有不同信息的完全相同的网页,具体取决于我是在 viewA 还是 viewB
由于 webview 可以播放视频,我希望该视频同时在两个视图中播放,所以我无法重新加载 webview,只需移动它即可。
有什么想法可以实现吗?已经尝试过容器视图,但它仍然是 UIWebView 的两个不同实例...是否可以在界面生成器或 swift 中完成?
由于强制解包,以下代码不安全,但您可以作为参考。我已将 globalWebView
声明为全局变量。
第一个视图控制器:
var globalWebView: UIWebView?
class FirstViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
globalWebView = UIWebView(frame: CGRectMake(20, 30, 300, 300))
globalWebView?.loadRequest(NSURLRequest(URL: NSURL(string: "https://www.youtube.com/embed/XLpDiIVX0Wo")!))
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
self.view.addSubview(globalWebView!)
}
}
第二视图控制器:
class SecondViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
self.view.addSubview(globalWebView!)
}
}