ner*_*rgy 2 ios swift wkwebview swift3
我正在开发一个显示本地存储的HTML内容的应用程序.
我的故事板场景包括一个自定义菜单视图('MyMenuBar')和一个'containerView',我希望在其中加载HTML.这两个项目都在故事板中得到了适当的约束.
我正在尝试使用WKWebView,正如Apple推荐的那样.我想将WKWebView添加为'containerView'的子视图,并给它相同的约束,但是我无法做到这一点.内容从屏幕边缘掉落,或根本不显示.
这是我有的:
@IBOutlet weak var MyMenuBar: UIView!
@IBOutlet weak var containerView: UIView!
...
var myWebView: WKWebView?
//View did load...
webViewWK = WKWebView()
containerView.addSubview(myWebView!)
myWebView?.frame = containerView.frame
myWebView?.load(localFileURL!)
Run Code Online (Sandbox Code Playgroud)
我不确定这里出了什么问题.我试过了:
view.insertSubview(myWebView!, belowSubview: MyMenuBar)
Run Code Online (Sandbox Code Playgroud)
和
containerView = myWebView!
Run Code Online (Sandbox Code Playgroud)
但这些都没有显示.我也尝试过:
myWebView?.translatesAutoresizingMaskIntoConstraints = false
Run Code Online (Sandbox Code Playgroud)
但是,我仍然遇到同样不寻常的布局问题,内容缩放错误,并从屏幕上掉下来.
我可以通过简单地在故事板上使用UIWebView来解决这个问题,但我想要WKWebView的性能和面向未来,并且无法理解为什么我不能以编程方式使用正确的约束来添加它.
我正在使用Xcode 8.0和Swift 3
非常感谢
对我来说有用的是指定除了子布局的坐标之外的自动调整遮罩,从Sparky的回答中暗示
myWebView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
myWebView.frame = CGRect(origin: CGPoint.zero, size: containerView.frame.size)
Run Code Online (Sandbox Code Playgroud)