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.

Swift: UIButton como superposición en UIScrollView UIButton: Botón UIScrollView: Vista de desplazamiento

Tengo un scroll view que contiene diferentes componentes de UI, como campos de texto, etiquetas, etc. El scroll view ocupa casi todo el tamaño de la pantalla. Lógicamente separado, quiero agregar / mostrar un botón que no sea parte del contenido del scroll view.

Esto lleva al problema de que mi botón no reacciona a mis toques. En caso de reducir el tamaño del scroll view para que los marcos no interfieran con los del botón, todo funciona como se esperaba.

Intenté llevar el botón al frente (view.bringSubviewToFront(infoButton)) pero aún no funciona.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Una forma de resolver este problema es agregar el botón como una subvista de la vista principal en lugar de la vista de desplazamiento. De esta manera, el botón no se verá afectado por los marcos del contenido en la vista de desplazamiento. Para hacer esto, puede agregar el botón a la vista principal usando parentView.addSubview(infoButton) en lugar de scrollView.addSubview(infoButton).

    Otra forma es usar un reconocimiento de gestos en el botón en lugar de depender de eventos táctiles. Puede agregar un UITapGestureRecognizer al botón y especificar una acción objetivo que se llamará cuando se toque el botón. Este enfoque debería funcionar independientemente del tamaño y el contenido de la vista de desplazamiento.

    Finalmente, también puede intentar ajustar la propiedad contentInset de la vista de desplazamiento para crear espacio para el botón, de modo que no interfiera con el marco del botón. Puede hacer esto estableciendo scrollView.contentInset.bottom = button.frame.size.height donde button es el botón que desea agregar.

Comments are closed.