我正在使用WKWebView
开发混合应用程序在所有尺寸的模拟器中一切正常但是当我在iPhone中运行代码时,屏幕上始终显示进度条并且视图显示在状态栏中,当我在状态栏中滚动屏幕时,我可以看到我的应用内容的滚动。
var webview:WKWebView!
let configuration = WKWebViewConfiguration()
wkwebview = WKWebView(frame:self.view.frame,configuration:configuration)
self.view = wkwebview
wkwebview.load(req as URLRequest)
有谁知道这是什么?我正在使用Xcode 9.2和macOS Sierra版本 10.12.6
已编辑:
如果我停止互联网,它会显示iphone中的视图(正常) 它在iphone 6及以上版本中也能正常工作。
答案 0 :(得分:1)
互联网问题。我使用局域网来运行这个应用程序而且IP是冲突的,所以当我更新我的iPhone的IP时,问题得到解决。
答案 1 :(得分:0)
尝试使用约束更加灵活:check full descriptions with examples how to work with them。
可能的方法之一是使用NSLayoutConstraint
+ Visual Format Language
:
let webview = WKWebView(frame: self.view.frame, configuration: WKWebViewConfiguration())
webview.translatesAutoresizingMaskIntoConstraints = false
self.view.addSubview(webview)
webview.load(URLRequest(url: URL(string: "https://stackoverflow.com/")!))
let views = ["webview": webview]
let horizontalConstraints = NSLayoutConstraint.constraints(withVisualFormat: "V:|-[webview]-|", options: .alignAllCenterY, metrics: nil, views: views)
let verticalConstraints = NSLayoutConstraint.constraints(withVisualFormat: "H:|-[webview]-|", options: .alignAllCenterX, metrics: nil, views: views)
self.view.addConstraints(horizontalConstraints)
self.view.addConstraints(verticalConstraints)
答案 2 :(得分:0)
请尝试以下代码:
override func viewDidLoad() {
super.viewDidLoad()
let webView = WKWebView(frame:CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height), configuration: WKWebViewConfiguration())
self.view.addSubview(webView)
webView.load(URLRequest(url: URL(string: "https://google.com/")!))
}
查看此屏幕截图--- https://i.stack.imgur.com/yVAFW.png
答案 3 :(得分:0)
对我来说,看起来有些东西在你的网页浏览之上。您是否已经调试了视图层次结构?
答案 4 :(得分:0)
这可能会有所帮助。
将此代码放在viewWillApear
var screenViewBounds: CGRect? = wkWebView?.bounds
screenViewBounds?.origin.y = 20
screenViewBounds?.size.height = screenViewBounds?.size.height - 20
wkWebView?.frame = screenViewBounds
答案 5 :(得分:0)
你好Jakir Hussain这个问题的解决方案很简单。 您需要转到“常规”选项卡,然后转到“状态栏”并选择“需要FUll屏幕”