gpt4 book ai didi

ios - 两个 viewController swift ios 中 uiwebview 的相同实例

转载 作者:行者123 更新时间:2023-11-30 13:28:35 26 4
gpt4 key购买 nike

这是我的情况

我有这个设置,

UIWebView webView

ViewControllerA {
IBOutlet weak var webView : UIWebView
override viewDidLoad {
doSomething()
}
}

ViewControllerB {
IBOutlet weak var webView : UIWebView (different instance! wrong)
override viewDidLoad {
doSomethingDifferent()
}
}

我使用选项卡栏 Controller 从 viewA 移动到 viewB我想将我的 webView 从 viewA 移动到 viewB,这样我就可以在 View 底部显示完全相同的网页,并在 View 底部显示不同的信息,具体取决于我是在 viewA 还是 viewB

由于 webview 可以播放视频,所以我希望该视频同时在两个 View 中播放,这样我就无法重新加载 webView,只需移动它即可。

有什么想法可以实现这一目标吗?已经尝试过容器 View ,但它仍然是 UIWebView 的两个不同实例...是否可以在界面生成器或 swift 中执行此操作?

最佳答案

由于强制解包,以下代码不安全,但您可以将其用作引用。我已将 globalWebView 声明为全局变量。

第一个 View Controller :

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

第二个 View Controller :

class SecondViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()
}

override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
self.view.addSubview(globalWebView!)
}
}

关于ios - 两个 viewController swift ios 中 uiwebview 的相同实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36849095/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com