2010-11-04 15 views
5

Cuando compruebo los indexndices de índice visibles de una tabla con 'indexPathsForVisibleRows' durante UIScrollViewDelegate's scrollViewDidScroll and scrollViewDidEndDragging, parece ser exacto.indexPathsForVisibleRows de UITableView incorrecto?

Pero a veces sólo cuando el desplazamiento y arrastre está terminando y 'cellForRowAtIndexPath' se invoca, la llamada a 'indexPathsForVisibleRows' devuelve 0. Hay filas visibles en la pantalla, así que sé que no puede ser 0. Tan pronto como esta sucede, puedo invocar UITableView::visibleCells y obtener un valor distinto de cero.

¿Por qué existe esta discrepancia?

+1

No he podido reproducir el comportamiento que estás viendo. ¿Cuándo llamas exactamente '-indexPathsForVisibleRows'? –

Respuesta

6

Did intentado métodos en secuencia a seguir llamando:

[MyTable visibleCells]; 
[MyTable indexPathsForVisibleRows]; 

hay un fallo en IOS con indexPathsForVisibleRows. Use el código de dos líneas arriba para obtener las filas visibles correctas.

+0

gracias ... esto parece estar solucionado en iOS 5 – Remover

+0

impresionante para [MyTable visibleCells]. Funciona para iOS 8 también. – neobie

+0

También funcionó para iOS 11.2.5 – Raniys