UIWebView 在 ios-11、iPhone-X、Xcode-9 中显示重叠的状态栏
UIWebView show overlapping status bar in ios-11, iPhone-X, Xcode-9
我正在使用 UIWebView 加载网页,一切正常,除了 iphoneX 被切断了我放置 "OK" 按钮和带有标题的标签的栏。
// webView
var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
let myURL = URL(string: "https://google.com")
let myRequest = URLRequest(url: myURL!)
webView = WKWebView(frame: CGRect( x: 0, y: 60, width: self.view.frame.width, height: self.view.frame.height - 60 ), configuration: WKWebViewConfiguration() )
//webView.backgroundColor = UIColor.blue
self.view.addSubview(webView)
webView.load(myRequest)
self.webView.allowsBackForwardNavigationGestures = true
//hide navegation bar
self.navigationController?.setNavigationBarHidden(true, animated: true)
// add cornerRadius to view
navegador.layer.cornerRadius = 10
//add observer to get estimated progress value
self.webView.addObserver(self, forKeyPath: "estimatedProgress", options: .new, context: nil)
}
解决这个僵局的任何建议。
iPhoneX中StatusBar的高度高于其他设备,需要计算出这个高度,并用这个值作为WebView坐标。
- 添加一个视图来放置确定按钮:
@IBOutlet weak var myTopBar: UIView!
- 计算状态栏的高度:
//获取高度状态栏
让 statusBarHeight = UIApplication.shared.statusBarFrame.height<br>
// 要在所有设备型号上正确查看,新高度将是:
让 heightTotal = self.myTopBar.frame.height + statusBarHeight
3:在webView中,使用这个高度:
webView = WKWebView(frame: CGRect( x: 0, y: heightTotal, width: self.view.frame.width, height: self.view.frame.height - heightTotal), configuration: WKWebViewConfiguration() )
我正在使用 UIWebView 加载网页,一切正常,除了 iphoneX 被切断了我放置 "OK" 按钮和带有标题的标签的栏。
// webView
var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
let myURL = URL(string: "https://google.com")
let myRequest = URLRequest(url: myURL!)
webView = WKWebView(frame: CGRect( x: 0, y: 60, width: self.view.frame.width, height: self.view.frame.height - 60 ), configuration: WKWebViewConfiguration() )
//webView.backgroundColor = UIColor.blue
self.view.addSubview(webView)
webView.load(myRequest)
self.webView.allowsBackForwardNavigationGestures = true
//hide navegation bar
self.navigationController?.setNavigationBarHidden(true, animated: true)
// add cornerRadius to view
navegador.layer.cornerRadius = 10
//add observer to get estimated progress value
self.webView.addObserver(self, forKeyPath: "estimatedProgress", options: .new, context: nil)
}
解决这个僵局的任何建议。
iPhoneX中StatusBar的高度高于其他设备,需要计算出这个高度,并用这个值作为WebView坐标。
- 添加一个视图来放置确定按钮:
@IBOutlet weak var myTopBar: UIView!
- 计算状态栏的高度:
//获取高度状态栏
让 statusBarHeight = UIApplication.shared.statusBarFrame.height<br>
// 要在所有设备型号上正确查看,新高度将是:
让 heightTotal = self.myTopBar.frame.height + statusBarHeight
3:在webView中,使用这个高度:
webView = WKWebView(frame: CGRect( x: 0, y: heightTotal, width: self.view.frame.width, height: self.view.frame.height - heightTotal), configuration: WKWebViewConfiguration() )