What control should I use to indicate multi-select lists on iOS?
The user can choose multiple items from a list, which will be carried forward to the next action.
In iOS, there are no checkboxes available to make it clear to the user that this is a multi-select list.
Android provides checkboxes indicating which options are available for selection to the user.
How do you visually convey multi-select options in iOS?
Great question - been desperately looking for an answer to this one. (Upvote)
Apple likes switches
Sliding switches were a nifty looking control way back when. They were one way for iOS to announce
"Hey, look! I like gestures. You should swipe stuff."
In a short list where you might want to flip your wifi or Bluetooth off to save some battery, it works okay. When you have a list of selectable items, iOS asks you to think of those items in switchable I/O terms.
They went too far
I assume the lack of checkboxes in iOS' recommendations is not an oversight — they've had a while to live with that decision. That doesn't mean it's not a mistake. The idea that we'd use their pretty little switches for everything was unnecessarily limiting.
iOS does hint that checks are still cool with select lists. The un-selected indicator (no indicator) isn't checkbox like. And it's for single item selection any way so ... ¯\_(ツ)_/¯
Make your own
What's an empathetic UX designer to do? The interwebs have been asking this question for a while. The conclusion I subscribe to:
There's nothing wrong with checkboxes on touch devices.
Ask the developer to make a checkbox out of a button. It's an easy thing to do. And people already get this whole checkbox thing. Afterall, iOS users aren't studying up for the iOS HIG test or anything right? They do use other interfaces in the course of their day.
Follow the users
In my experience, users know what to do when they see clearly indicated checkboxes. In fact, I've found that more users know what to do with checkboxes than toggle switches, at least for multi-select lists. Test your audience and see if you can confirm otherwise.
I like your answer more, I hate how Apple removed these basic controls just to be special. But we're trying to follow as many guidelines as we can with our app, so from this perspective the other answer seems more appropriate.
There are clear patterns to follow in iOS (as there are with Android). If you're so biased against the OS as to not follow its conventions properly, maybe designing for multiple platforms isn't for you.
@kip Or maybe the OS doesn't have all the answers. iOS users aren't limited to iOS thinking. Experience needs to drive the UI. In Apple's defense, we can't expect the iOS team (or Android) to spec every possible need, even the obvious ones.
There is a clear answer for this question, and I've posted the UI pattern iOS uses for it.
Apple's "recommendation" is clear. Judging by the frustration in the UX and dev communities, the "answer" is not so clear.
There are so many wrong and biased things in this answer I likely don't have the space to go through them all. Switches have the same functionality as checkboxes: they are on or off. No, you do not have to swipe switches, you can simply tap them to toggle them on or off. Yes, checkboxes do exist in iOS but are used for grouped lists of options, which is the topic of this question. No, you should not jump to make your own custom control for this. It is bad to break conventions of the OS and it should be avoided. Designers should mostly follow the conventions of each platform they work on.
**1)** Platform conventions are quickly evaporating as software UX matures. Professional designers should give users what they expect and interact naturally with, regardless of platform. **2)** Toggles don't *need* to be swiped, but they do suggest it via skeuomorphism. **3)** Checkboxes *do not* exist in iOS for multi-select lists. **4)** Thanks for the lively debate (^‿-)
(1a) Cite sources please. (1b) *Regardless* of platform? You're either joking or inexperienced. It's critical to follow the conventions of each platform. An iOS app should feel like an iOS app, and an Android app should feel like an Android app. (3) Checkboxes exist in iOS. Yes, as I said before, they are for radio-button style options.
Coming back and reading this exchange a couple years later, it encourages me to realize that platform distinctions have only further eroded. It's about the product experience, not the OS's decisions
Thank you so much for this answer I have been trying to understand how to do this in IOS - as I have a good Android design. I found this from Apple - I will turn it into an answer. https://developer.apple.com/library/content/samplecode/TableMultiSelect/Introduction/Intro.html (Upvote)