ios objective-c mpmediapickercontroller ios8.4

ios - MPMediaPickerController no indica la selección cuando allowPickingMultipleItems=true



objective-c ios8.4 (2)

MPMediaPickerController solía dar una indicación visual de que se había seleccionado un elemento antes de iOS 8.4.

En 8.4, cuando se muestra un selector y se allowsPickingMultipleItems que allowsPickingMultipleItems se establezca en verdadero, muestra que los elementos están seleccionados en mediaPicker:didPickMediaItems pero al seleccionar, los elementos seleccionados simplemente resaltan (a veces) pero luego regresan a una pantalla normal sin resaltar el indicador + .


Antes de iOS 8.4, al seleccionar varios elementos utilizando MPMediaPickerController, los elementos seleccionados permanecían resaltados para indicar la selección. Además, no fue posible seleccionar un elemento varias veces.

A partir de iOS 8.4, la selección de un elemento simplemente lo resalta por un breve período de tiempo y el usuario puede seleccionar el mismo elemento varias veces sin saber que ya ha seleccionado el elemento. Pasos para reproducir: 1. Implemente una instancia de MPMediaPickerController (inicie con MPMediaTypeMusic) 2. Establezca "allowPickingMultipleItems" en "YES" 3. Presente el controlador de manera modal e intente seleccionar un elemento

Resultados esperados: el elemento seleccionado debe permanecer resaltado para indicar la selección y no debe ser posible seleccionar un elemento varias veces

Resultados reales: los elementos seleccionados no se reflejan (aparte de un breve resaltado - dehighlight) y es posible seleccionar un elemento varias veces por error.


Pude solucionar este problema rehaciendo el MediaPickerController cada vez que quería usarlo.

Solía ​​mantenerlo en el ámbito global para evitar tener que rehacerlo cada vez que el usuario quería elegir algo.

Ahora, cuando selecciono una canción o un álbum, la marca de verificación siempre aparece, por lo que está corregida.

Solía ​​ser que la selección de canciones o álbumes en la segunda presentación del mismo MediaPickerController no mostraba una marca de verificación cuando el usuario seleccionaba una canción, sin embargo, seleccionaría la canción de todos modos.