加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在Swift 3 / iOS 10中创建一个大小的WKWebView

发布时间:2020-12-14 02:25:39 所属栏目:百科 来源:网络整理
导读:我试图在我的应用程序中添加一个WKWebView,占用屏幕的大约2/3(在底部留空间).因为似乎没有办法将WKWebView添加到故事板,所以我添加了一个常规的UIView.然后在我的viewDidAppear方法中,我尝试创建一个具有相同边界的WKWebView.这是一个合理的方法吗? 我的代
我试图在我的应用程序中添加一个WKWebView,占用屏幕的大约2/3(在底部留空间).因为似乎没有办法将WKWebView添加到故事板,所以我添加了一个常规的UIView.然后在我的viewDidAppear方法中,我尝试创建一个具有相同边界的WKWebView.这是一个合理的方法吗?

我的代码看起来像这样:

@IBOutlet var conversationView: UIView!

    override func viewDidAppear(_ animated: Bool) {
      let webView = WKWebView(frame: conversationView.frame)
      if let url = URL(string: "https://www.google.com") {
        webView.load(URLRequest(url: url))
      }

      // conversationView = webView // <-- doesn't work :
      conversationView.addSubview(webView) // works!
    }

完全交换视图根本不起作用,因此我将Web视图添加为我添加到故事板的临时视图的子视图.这至少让我限制它的位置和大小,但仍然感觉非常kludgy,并且必须有一个更好的方法来做到这一点..

没有其他答案对我有用. Samip Shah的答案是沿着正确的轨道,但约束条件并不完全正确.要记住的重要一点是将translatesAutoresizingMaskIntoConstraints设置为false.

所以,这是我的解决方案.在故事板中创建一个UIView,其中包含WKWebView所需的约束和布局.在视图控制器中添加代码:

@IBOutlet var contentView: UIView!
var wkWebView:WKWebView!

override func viewDidLoad() {
    super.viewDidLoad()

    wkWebView = WKWebView(frame:contentView.frame)
    contentView.addSubview(wkWebView)
    constrainView(view: wkWebView,toView: contentView)

    let request = URLRequest(url: /* your url here */)
    wkWebView.load(request)
}

用于约束视图的代码.如果要使用多个视图控制器,可以将其添加到实用程序类中.

func constrainView(view:UIView,toView contentView:UIView) {
    view.translatesAutoresizingMaskIntoConstraints = false
    view.leadingAnchor.constraint(equalTo: contentView.leadingAnchor).isActive = true
    view.topAnchor.constraint(equalTo: contentView.topAnchor).isActive = true
    view.trailingAnchor.constraint(equalTo: contentView.trailingAnchor).isActive = true
    view.bottomAnchor.constraint(equalTo: contentView.bottomAnchor).isActive = true
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读