3

I'm doing a form field on an app and need to included a drop down at the end of some of the text fields. For the android version I'll be using the material design standard as below.

enter image description here

for iOS, they recommended using the picker. But I dont feel this is the optimium solution. for example if the user already knows what they want to select but the list is really long. is there a way to combine the picker with a text box as a combined control so that the list would auto update as the user enters the details in the text field?

  • 2
    You can always create a custom control that can give you the interaction you desire :) – Mike Milla Dec 15 '15 at 18:37
  • As with this recent question about multi-select lists, iOS doesn't provide all the controls we need as part of the standard. If it fits your use case, you'll need to build your own. – plainclothes Dec 15 '15 at 18:39
  • Yes, they do. You can use a picker or a table with a search filter. I will add an example from Apple to an answer below. I recommend ignoring @plainclothes regarding anything about iOS, as their bias against Apple and lack of knowledge of the platform is evident. – Kip Dec 15 '15 at 18:53
  • Glad you're here to hold the torch @Kip. This is another issue where there are options in iOS but they aren't great: jumping to a new view to get a searchable table view? iOS is feeling very old these days. – plainclothes Dec 15 '15 at 19:05
  • Just here to provide yet another obvious answer that follows the clear convention of the OS. The same challenge exists with the Android "Spinner" component; it is not filterable. The alternative is an Android AutoCompleteTextView, but that does not list the options for you, you must start typing first. The Android solutions I've seen mirror the iOS solution--a list with a search filter above it. – Kip Dec 15 '15 at 19:22
5

No

For really large lists add separate screen with all options in a list (with filter). Here is an example for a Ringtone in iOS:

Sounds chooser in iOS settings

Use picker for small lists.

That's it for standard controls. I saw a combobox for iOS, but it felt awkward.

  • 1
    A filter does not actually exist in this area of Settings (and you can't see it in the screenshots here), but the idea is that the list in the third screen has a text filter field at the top of the table. – Kip Dec 15 '15 at 19:44
3

There are 2 standard solutions for this in iOS. One is the Picker control, which can be slow to use when browsing a large list:

enter image description here

The other is to use a TableView with a search filter, as Nikita explains. I wanted to provide a screenshot from Apple themselves that shows this being used in the Settings app:

enter image description here

Either of these solutions translates to iPad by containing them in a Popover.

3

is there a way to combine the picker with a text box as a combined control so that the list would auto update as the user enters the details in the text field?

No, as you can't display both the iOS picker and iOS keyboard at the same time.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.