【问题标题】:View is showing only in status bar in iphone视图仅显示在 iphone 的状态栏中
【发布时间】:2017-12-15 06:03:19
【问题描述】:

我正在使用 WKWebView 开发 hybrid 应用程序,在所有大小的模拟器中一切正常,但是当我在 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

已编辑:

如果我停止 Internet,它会在 iphone 中显示视图(很好)。
它在 iphone 6 及更高版本中也可以正常工作

【问题讨论】:

  • 你用什么方法执行这段代码?
  • 显示截图..
  • 你为什么不分享屏幕截图
  • 我添加了截图@AbhishekMitra,Jitendra
  • @jakirhussain 我在下面看到,有 2 个 cmets 有答案,并且使用这些代码中的任何一个似乎都可以正常工作。如果你已经尝试了这两种方法,但你没有纠正问题,那么你必须展示你的故事板和你的类代码。谢谢

标签: ios iphone swift


【解决方案1】:

这是互联网问题。我使用 LAN 来运行这个应用程序并且 IP 冲突,所以当我更新我的 iPhone 的 IP 时,问题得到了解决。

【讨论】:

    【解决方案2】:

    尝试更灵活地处理约束: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)
    

    【讨论】:

    • @jakirhussain 你得到什么结果?
    • 使用您的代码后,我在状态栏中看不到视图
    • @jakirhussain 尝试在检查器中检查您的视图层次结构。也许你的父视图也有不正确的框架。
    【解决方案3】:

    试试下面的代码:

    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

    【讨论】:

      【解决方案4】:

      对我来说,您的网络视图上方似乎有一些东西。您是否已经调试过视图层次结构?

      【讨论】:

      • 模拟器以及 ios 6 及更高版本运行良好,所以我不认为有任何视图层次结构问题@Milander
      【解决方案5】:

      这可能会有所帮助。 将此代码放入viewWillApear

      var screenViewBounds: CGRect? = wkWebView?.bounds
          screenViewBounds?.origin.y = 20
          screenViewBounds?.size.height = screenViewBounds?.size.height - 20
          wkWebView?.frame = screenViewBounds
      

      【讨论】:

        【解决方案6】:

        您好 Jakir Hussain,这个问题的解决方案很简单。 您需要转到“常规”选项卡,然后转到“状态栏”并选择“需要全屏”

        【讨论】:

          猜你喜欢
          • 2011-01-12
          • 1970-01-01
          • 2012-04-06
          • 2018-02-25
          • 2017-11-14
          • 2016-06-12
          • 2010-12-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多