视图仅显示在iphone的状态栏中

时间:2017-12-15 06:03:19

标签: ios iphone swift

我正在使用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及以上版本中也能正常工作

Here is Image

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屏幕”

相关问题