es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo eliminar el espacio en blanco dentro de WKScrollView después de cambiar la altura del marco de WKWebView?

Cómo eliminar el espacio en blanco después de cambiar la altura del marco de WKWebView?
Quiero cambiar la altura del webview cuando aparece el teclado, pero después de cambiar la altura del marco, queda un espacio adicional debajo del cuerpo HTML. Y la altura de este espacio en blanco extra es aproximadamente igual a la altura del teclado.

Aquí está el fragmento de código:

NotificationCenter.default.rx
.notification(UIApplication.keyboardDidShowNotification)
.subscribe(onNext: { [weak self] keyboardConfig in
    if let userInfo = keyboardConfig.userInfo{
       let keyboardBounds = (userInfo["UIKeyboardFrameEndUserInfoKey"] as! NSValue).cgRectValue;

       self?.webView.snp.remakeConstraints({ make in
           make.left.right.top.equalToSuperview();
           /// remake de la altura de la pantalla a la altura debajo.
           make.height.equalTo(UIScreen.main.bounds.size.height - keyboardBounds.size.height);
       });
   }
});

enter image description here

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para eliminar el espacio en blanco después de cambiar la altura del marco de WKWebView, puedes intentar agregar el siguiente código después de la línea make.height.equalTo(UIScreen.main.bounds.size.height - keyboardBounds.size.height):

    self?.view.layoutIfNeeded()
    self?.webView.scrollView.contentInsetAdjustmentBehavior = .never
    

    Esto obligará a la vista a actualizar su diseño y evitará que el contenido se ajuste automáticamente para acomodar el teclado.

Comments are closed.