目前,要调整contentView为Web视图的窗口,请执行以下操作:
let oldSize = webView.window?.contentView?.bounds.size
let webSize = <new asset size>
if oldSize != webSize, var origin = self.webView.window?.frame.origin {
origin.y += ((oldSize?.height)! - webSize.height)
webView.window?.setContentSize(webSize)
webView.window?.setFrameOrigin(origin)
webView.bounds.size = webSize
}
这很好但是在contentSize更改和对视觉原点的重新定位之间有时会出现延迟。尝试使用setFrame:是偶然的结果是内容大小偏差。
是否有办法缓冲此类窗口操作以影响平滑过渡。什么时候涉及WKWebView?
顺便说一句,在随后的评论中,这是webView在其视图中使用的方法:
func fit(_ childView: NSView, parentView: NSView) {
childView.translatesAutoresizingMaskIntoConstraints = false
childView.topAnchor.constraint(equalTo: parentView.topAnchor).isActive = true
childView.leadingAnchor.constraint(equalTo: parentView.leadingAnchor).isActive = true
childView.trailingAnchor.constraint(equalTo: parentView.trailingAnchor).isActive = true
childView.bottomAnchor.constraint(equalTo: parentView.bottomAnchor).isActive = true
}
答案 0 :(得分:0)
调整NSWindow大小时,这种WKWebView
的大小调整滞后可能与在启动窗口时使用fullSizeContentView
styleMask或在界面设计器中启用“完整内容视图”有关。