我正在IOS swift的WKWebView中显示一个pdf文件,并且显示良好。我正在从服务器加载pdf文件。但是文件的某些部分被隐藏在顶部导航栏的后面。我想在WKWebView的顶部添加边距。这是我当前的代码。
let myBlog = file
let url = NSURL(string: myBlog)
let request = NSURLRequest(url: url! as URL)
// init and load request in webview.
webView = WKWebView(frame: self.view.frame)
webView.navigationDelegate = self
webView.load(request as URLRequest)
self.view.addSubview(webView)
// webView.translatesAutoresizingMaskIntoConstraints = false
// webView.addConstraints([NSLayoutConstraint(item: webView, attribute: .height, relatedBy: .equal, toItem: view, attribute: .height, multiplier: 1, constant: 0)])
self.view.addSubview(sv)
let pdfVC = UIViewController()
pdfVC.view.addSubview(webView)
pdfVC.title = "File"
self.navigationController?.pushViewController(pdfVC, animated: true)
在这里,注释的代码是我试图增加页边距而不起作用的方式。
答案 0 :(得分:4)
webView = WKWebView(frame: self.view.frame)
在设置框上方的那一行中,使其从顶部离开空白并从高度减少给定的空白。
答案 1 :(得分:1)
尝试设置layoutMargin,它应该可以解决问题。
self.webView.layoutMargins = UIEdgeInsets(top: 8, left: 8, bottom: 8, right: 8)
答案 2 :(得分:0)
首先将translatesAutoresizingMaskIntoConstraints
中的webView
设置为false
,即
webView.translatesAutoresizingMaskIntoConstraints = false
现在,在constraints
webView
或view's
中添加safeAreaLayoutGuide
的正确的 layoutMarginsGuide
,即
var guide: UILayoutGuide
if #available(iOS 11.0, *) {
guide = self.view.safeAreaLayoutGuide
} else {
guide = self.view.layoutMarginsGuide
}
NSLayoutConstraint.activate([
webView.leadingAnchor.constraint(equalTo: guide.leadingAnchor),
webView.trailingAnchor.constraint(equalTo: guide.trailingAnchor),
webView.topAnchor.constraint(equalTo: guide.bottomAnchor),
webView.bottomAnchor.constraint(equalTo: guide.bottomAnchor)
])