2011-02-07 11 views
29

Tengo una vista de desplazamiento y en ambos lados, tengo dos botones hacia la izquierda y la derecha.iphone - previene que uiscrollview se desplace por el tacto

cuando hago clic en la vista de desplazamiento se moverá a la izquierda y cuando se haga clic en el botón derecho se moverá a la derecha. Mi vista de desplazamiento tiene 20 botones (aprox.) & al hacer clic en cada botón se realiza alguna acción.

Todo está perfectamente implementado y funciona bien.

Lo único que no pude implementar es evitar el desplazamiento táctil. No quiero que el usuario recorra manualmente la vista de desplazamiento. ¿Cómo puedo evitar que se desplace por el tacto y aún así poder hacer clic en los botones dentro de la vista de desplazamiento?

+4

Esto suena como un problema importante que está introduciendo. Estás escribiendo código para un dispositivo táctil, donde las personas están familiarizadas con el desplazamiento arrastrando los dedos, y es la acción más natural. Solo voy a instarlo a que reconsidere su diseño. Piensa en tus usuarios. – jer

+0

Si no desea que el toque funcione, ¿por qué está utilizando una vista de desplazamiento? Solo usa una UIView normal. – fishinear

Respuesta

88

Pruebe la configuración yourScrollView.scrollEnabled = NO;. Eso debería hacer exactamente lo que quieras.

+3

Supongo que no está permitido así que intente configurarlo a través del método setter '[scrollView setScrollEnabled: NO];' – virindh

+3

'yourScrollView.isScrollEnabled = false' es la sintaxis correcta si usa Swift. – Markus

+0

¡Muy buena proporción de votos a favor de personajes en respuesta! Gracias. –

0

Si esos botones son la única interfaz para los usuarios, desactive la opción 'Interacción del usuario habilitada' de la vista de desplazamiento en el Creador de interfaces. O, programáticamente, establezca la propiedad userInteractionEnabled en NO.

1

Swift, set scrollView.isScrollEnabled = false y debería funcionar!

0

Swift 3

self.scrollView.isScrollEnabled = false 
Cuestiones relacionadas