两个 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!)
    }
}