Swift 3+アプリでWKWebViewを使用してウェブページを開きます。 私はストーリーボードまたはXIBを使用していません。私のWebViewの負荷が、それが原因(デフォルトで設定された)黒の背景色キャリアの情報、時間、バッテリーの状態を表示するために背景色を透明に設定する方法
にキャリア情報、セルラネットワーク信号強度インジケータ(ドット)、無線LAN/4G接続インジケータ、時間、およびバッテリ状態を隠し
私はトップのステータスバーの下に私のwebviewを表示したい。 UIApplication.shared.statusBarFrame.height
を使用してステータスバーの高さを取得しました(これは20と予想されており、確認されています)
どうすればよく見えるのですか? (白い背景/透過性を有する) は、ユーザーがステータスバーの情報を上に見てから、期待どおりに見ることができるようにします。
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が必要だと思う。
電流サンプルローディングduckduckgo:
肖像
風景
さらには、Mを聞かせ私はUITextViewがアドレスバー(ウェブページのURL)を表示するための良い選択であるかどうか、または私はUILabelまたは他の何か、おそらく良い、navigationBarを使用する必要がありますか?しかし、それはストーリーボード/ xibを必要とするだろうと思います。あなたのビューのprefferedStatusBarStyle
を設定することができ
ありがとうございました。 – computingfreak
ローテーションの問題を解決するのに役立つことができますか? – computingfreak
overrideを使用している間に 'false'を返そうとしますvar prefersStatusBarHidden:Bool {}' –