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.
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 descrollView.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 estableciendoscrollView.contentInset.bottom = button.frame.size.height
dondebutton
es el botón que desea agregar.