Vizllx
Vizllx

Reputation: 9246

MPMediaPickerController doesn't indicate selection when allowsPickingMultipleItems = true

MPMediaPickerController used to give a visual indication that an item was selected prior to iOS 8.4.

In 8.4 when a picker is displayed and allowsPickingMultipleItems is set to true, it does show that items are selected in mediaPicker:didPickMediaItems but while picking, selected items simply highlight (sometimes) but then just flip back to a normal display without highlighting the + indicator.

Upvotes: 30

Views: 689

Answers (2)

TheJeff
TheJeff

Reputation: 4131

I was able to fix this issue by remaking the MediaPickerController every time I wanted to use it.

I used to keep it around in the global scope to prevent having to remake it every time the user wanted to pick something.

Now when I select a song or an album the checkmark always shows up, so it is fixed.

It used to be that selecting songs or albums on the second presentation of the same MediaPickerController didn't show a checkmark when the user selected a song, however it would select the song anyway.

Upvotes: 0

Akash
Akash

Reputation: 501

Prior to iOS 8.4, when selecting multiple items using MPMediaPickerController the selected items remained highlighted to indicate selection. Additionally, it was not possible to select an item multiple times.

As of iOS 8.4, selecting an item simply highlights it for a brief period of time and the user can select the same item multiple times without being aware that she has already selected the item. Steps to Reproduce: 1. Implement an instance of MPMediaPickerController (init with MPMediaTypeMusic) 2. Set "allowsPickingMultipleItems" to "YES" 3. Present the controller modally and try selecting an item

Expected Results: Selected item should remain highlighted to indicate selection and it should not be possible to select an item multiple times

Actual Results: Selected items are not reflected (aside from a brief highlight - dehighlight) and it's possible to select an item multiple times mistakenly.

Upvotes: 2

Related Questions