我正在使用WKWebView在Swift 3+應用程序中打開網頁。 我不使用故事板或XIB。如何設置背景顏色爲透明,以顯示載體信息,時間和電池狀態
當我的網頁視圖負載,它隱藏了載體信息,蜂窩網絡的信號強度指標(點),無線/ 4G連接指示器,時間和電池狀態由於黑背景色(缺省設置)
我想在頂層狀態欄下方顯示我的webview。 我獲得使用UIApplication.shared.statusBarFrame.height
狀態欄的高度(希望它是20,並確認等等)
我怎樣才能同時出現呢? (具有白色背景/透明度) ,以便用戶可以按預期在頂部看到狀態欄信息,然後在webview上看到狀態欄信息。
Controller.swift:在旋轉
import UIKit
import WebKit
class MyWebViewController: UIViewController, WKNavigationDelegate {
var urlString:String? = nil
let myWebView = WKWebView(frame:CGRect(x: 0, y: 32+UIApplication.shared.statusBarFrame.height, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height-32-UIApplication.shared.statusBarFrame.height))
let button = UIButton(frame: CGRect(x:UIScreen.main.bounds.width - 100,y:50,width:50,height:50))
let navpath = UITextView(frame:CGRect(x: 0, y: UIApplication.shared.statusBarFrame.height, width: UIScreen.main.bounds.width, height: 32))
override func viewDidLoad() {
super.viewDidLoad()
self.view.isOpaque=true
self.view.backgroundColor = UIColor.clear
print("status bar height : \(UIApplication.shared.statusBarFrame.height)")
button.backgroundColor = UIColor.red
button.setTitle("close", for: .normal)
myWebView.navigationDelegate = self
myWebView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
myWebView.load(NSURLRequest(url: targetUrl as URL) as URLRequest)
view.addSubview(myWebView)
button.autoresizingMask = [.flexibleWidth, .flexibleHeight]
navpath.autoresizingMask = [.flexibleWidth, .flexibleHeight]
view.addSubview(navpath)
myWebView.addSubview(button)
}
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
//print(navigationAction.navigationType)
let navReq = navigationAction.request
let targetUrl = navReq?.url
let link = targetUrl?.absoluteString
print("targetURL : \(targetUrl)\n link : \(link)")
navpath.text=link
//self.myWebView.load(navReq)
decisionHandler(.allow)
}
}
,綠色電池指示燈熄滅隱藏。我想解決這個問題。 navpath(地址欄textholder)和按鈕(關閉)也得到錯位,我想我需要autolayout/constraintmanager什麼的。
電流樣本裝載duckduckgo:
肖像
景觀
另外,令m e知道如果UITextView是顯示地址欄(網頁的URL)的好選擇,或者我應該使用UILabel或其他的東西,可能更好,navigationBar?但是,我想這需要storyboard/xib。
感謝,它的工作。 – computingfreak
你能幫我解決旋轉問題嗎? – computingfreak
嘗試在使用'override var prefersStatusBarHidden:Bool {}時返回'false' –