ios 在UITabBarController中的所有选项卡栏上加载相同的webView示例

iyr7buue  于 2023-05-23  发布在  iOS
关注(0)|答案(1)|浏览(176)

我想知道是否可以在UITabBarViewController的所有标签栏中加载同一个WKWebView示例。如果是,请分享一些想法/想法。
我想实现这一点:

**Tabbar 1:-**load stackOverflow.com> tap anywhere>它将加载另一个URL
**标签栏2:-**想在这里看到新加载的URL(从第一个标签)

非常感谢!

aydmsdu9

aydmsdu91#

可以共享同一个示例,但您必须知道:
一个视图不能同时添加到两个不同的视图。UIKit层次结构中的每个视图一次只能有一个超级视图。如果将视图添加到第二个超级视图,则该视图将从其上一个超级视图中删除。
因此,这里的技巧是将wkwebview放在共享AppDelegate中,然后在您的childViewController中添加共享wkwebview作为viewWillAppear(_ animated:)中的子视图

override func viewWillAppear(_ animated: Bool) {
    debugPrint("\(#function)")
    sharedWebView.frame = view.bounds
    sharedWebView.autoresizingMask = [.flexibleWidth,.flexibleHeight]
    view.addSubview(sharedWebView)
  }

这样,你就有了一个共享的wkwebview。

顺便说一句,我很难理解你的要求,但我还是写了一个演示项目:
Tabbar 1:- load stackOverflow.com> tap anywhere>它将加载另一个URL
标签栏2:-想在这里看到新加载的URL(从第一个标签)
Check the whole project here

相关问题