ios-wkwebview的完整内容可以滚动到视图之外

时间:2019-07-11 06:12:31

标签: ios view uiview wkwebview soft-keyboard

我正在构建iOS混合应用(WKWebView / HTML5)。只要我不打开软键盘,一切都可以正常运行。

打开软键盘时,用户可以(以某种方式)将整个视图移到可视区域之外(包括标题等)。关闭软键盘后,所有内容都会移回...

我已经尝试过 -如何创建WKWebView(故事板或以编程方式)的不同方法 -如果键盘打开,我会减小WKWebView的大小

总是一样的行为...

override func viewDidLoad() {
  ....
  ui_webView = WKWebView(frame: CGRect( x: 0, y: safeArea_top, width: view.frame.width, height: view.frame.height - safeArea_top-safeArea_bottom), configuration: webViewCfg )
  ui_webView?.autoresizingMask = [.flexibleWidth, .flexibleHeight]
  ui_webView!.navigationDelegate = self
  ui_webView!.uiDelegate = self
  ui_webView!.scrollView.bounces = false
  ui_webView!.contentMode = .scaleToFill
  view.addSubview(ui_webView!)
  if  let result = components?.url {
      let request = URLRequest(url: result)
      ui_webView!.load(request)
  }
}

显示了处理键盘

@objc func keyboardWillShow(notification: NSNotification) {
    if let keyboardHeight = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue.height {
      var newFrame = ui_webView?.frame
      newFrame?.size.height = view.frame.height-safeArea_top-safeArea_bottom-keyboardHeight
      ui_webView?.frame = newFrame!
      view.setNeedsLayout()
    }
}

操作键盘已关闭

@objc func keyboardWillHide(notification: NSNotification) {
    var newFrame = ui_webView?.frame
    newFrame?.size.height = view.frame.height - safeArea_top-safeArea_bottom
    ui_webView?.frame = newFrame!
    view.setNeedsLayout()
}

由于WKWebViewy=safeArea_top开始,所以我认为如果定为/而非not的开始不能被移动。

以某种方式(只是一个想法):视图的高度保持不变(如果打开了键盘),因此一切都可以向上移动?!?

任何想法可能是什么问题/如何解决?

0 个答案:

没有答案