首页 > 解决方案 > IOS webview中的对齐问题

问题描述

在 IOS Web 视图中加载时在此处输入图像描述 它显示对齐问题,但在 Web 中它可以正常工作

标签: ioswebviewalignment

解决方案


这对我有用。这可能会有所帮助。此代码将适合任何具有适当约束的视图中的 Web 视图。

import WebKit
    var viewOfWeb : WKWebView?
    let webViewConfiguration = WKWebViewConfiguration()
    viewOfWeb = WKWebView(frame: .zero, configuration: webViewConfiguration)
    viewOfWeb?.uiDelegate = self
    viewOfWeb?.navigationDelegate = self
    self.viewOfWebView?.addSubview(viewOfWeb ?? WKWebView())
    AppModelUtils.sharedInstance.setConstraint(subView: viewOfWeb ?? WKWebView(), RelateviveToSecondView: viewOfWebView)
    if let url = URL(string: urlString){
                let request = URLRequest(url: url)
                DispatchQueue.main.async{
                    self.stopSpinner()
                    self.webView.load(request)
                }
            }
      }    


func setConstraint(subView: UIView ,RelateviveToSecondView superView:UIView)
    {
        subView.translatesAutoresizingMaskIntoConstraints = false
        let constX:NSLayoutConstraint = NSLayoutConstraint(item: subView, attribute: NSLayoutConstraint.Attribute.centerX, relatedBy: NSLayoutConstraint.Relation.equal, toItem: superView, attribute: NSLayoutConstraint.Attribute.centerX, multiplier: 1, constant: 0);
        superView.addConstraint(constX);

        let constY:NSLayoutConstraint = NSLayoutConstraint(item: subView, attribute: NSLayoutConstraint.Attribute.centerY, relatedBy: NSLayoutConstraint.Relation.equal, toItem:superView, attribute: NSLayoutConstraint.Attribute.centerY, multiplier: 1, constant: 0);
        superView.addConstraint(constY);

        let constW:NSLayoutConstraint = NSLayoutConstraint(item: subView, attribute: NSLayoutConstraint.Attribute.width, relatedBy: NSLayoutConstraint.Relation.equal, toItem: superView, attribute: NSLayoutConstraint.Attribute.width, multiplier: 1, constant: 0);
        superView.addConstraint(constW);

        let constH:NSLayoutConstraint = NSLayoutConstraint(item: subView, attribute: NSLayoutConstraint.Attribute.height, relatedBy: NSLayoutConstraint.Relation.equal, toItem: superView, attribute: NSLayoutConstraint.Attribute.height, multiplier: 1, constant: 0);
        superView.addConstraint(constH);          
     }

推荐阅读