Pregunta

Tengo una costumbre UITableViewCell que contiene un control y una UISlider UILabel que muestra el valor del texto actual de la posición del control deslizante. Quiero actualizar la etiqueta como el mando de la corredera es arrastrado. Estos son los elementos básicos.

cellForRowAtIndexPath: Esta rutina toma de datos y actualiza el valor del control deslizante y la etiqueta asociada a ella.

sliderValueChanged: Esta rutina lee el valor del regulador actualiza los datos. A continuación, llama [Tabla reloadData] por lo que la etiqueta se actualiza.

Problema: De alguna manera el reloadData está interrumpiendo el flujo de cambios. Si sustituyo NSLog en lugar de reloadData consigo un buen flujo de cambios que muestran el valor del deslizador. En un intento de evitar un bucle que puse en pruebas para no establecer el valor del control deslizante o llame reloadData menos que el valor era diferente. Eso no arreglar las cosas.

Cualquier ayuda sería muy apreciada!

¿Fue útil?

Solución

El problema está siendo causado por la [Tabla reloadData] que parece estar creando un nuevo objeto de la célula para que las actualizaciones del mismo cursor no están funcionando. La aplicación correcta era conseguir la celda de referencia dentro de la rutina de sliderValueChanged y fijar la etiqueta a partir de ahí. Establecer una etiqueta para el control deslizante para indicar la fila y luego llamar al método para obtener la celda con la ruta del índice.

Otros consejos

cosas como esta me ha pasado. Ir a la configuración de creación y buscar un compilador que enarbole el pabellón denominado "Activar flotante llamadas a las bibliotecas punto". Asegúrese de que está desactivada. A ver si eso le ayuda.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top