I have a settings view with a grouped table. One of the cells of such table is intended to show a very long list of items from where I want the user to select one. Due to the length of the list, I need to provide a way to make easier to find a certain item.

One of the options I think there are, is to show letters of alphabet as indexes at the right side of a plain table. Since my first table is a grouped one, my navigation hierarchy would be then like this:

iPhone_grouped iPhone_plain

Would it be inconsistent to navigate from a grouped table to a plain table? If so, could somebody give an existing example? I didn't find anything related to this in iOS Human Interface Guidelines, maybe it is described somewhere else and this navigation pattern breaks the guidelines.

Another option could be having a search bar. Can a search bar be used in both a plain table and a grouped table? The existing example of such bar I found is in Contacts app and it is a plain table. In a plain table, could both an alphabet index and a search bar be shown?

3 Answers 3


Users a tend to remember list structure, so it is not a good idea to reorder it. I would say the following:

  • long lists are not that good
  • search field is a bad idea (usually the user doesn't know what to search)
  • complex components (list withing a cell of the treetable) do not usually work well

Please check Miller columns and this topic. I will also add list of options from my other answer:

enter image description here

  • Thanks. I try to avoid very long lists of items, but this one is a requirement I've been given and I can`t omit information. I think I'd be able to show something like Miller columns in iPad version, but I don´t know how I could handle any of your options in iPhone...
    – AppsDev
    Commented Jul 29, 2013 at 2:46
  • Approach with Miller columns seems to be native for iOS. Here is an example: maclife.com/files/u129772/restrictions_only_0.jpg But due to screen size limitations it is rendered as #6 Commented Jul 29, 2013 at 8:39
  • You're right, I was thinking about displaying a split view... this is what I do with first level of my settings menu, but then when I need to show the long list of selectable items, I have no way to categorize them into smaller groups further than alphabetical
    – AppsDev
    Commented Jul 29, 2013 at 9:52
  • I would recommend not to use option 2 and 4 in this case, in which the requirement is to show a long list. Expanding one menu item would put the other top menu items too far away. Commented Oct 2, 2013 at 8:08

IDEA 1: Grouping

Can you group items in the second table (plain table) further? If so, the interface is much simplified.

IDEA 2: Filtering

If IDEA 1 is impossible to follow, then you can do another thing. Implement a filter feature to the long list. Just place an icon at the top of the list. Clicking on it should bring a new page. Provide checkboxes, sliders, or some other facility according to your situation. Avoid the search bar if possible -- users don't know what words you have used in your list.

IDEA 3: Sorting

If IDEA 2 fails, then you must sort and present the list manually. Think about the options again and decide which are the most used options? Guess what most users want. Show those options first!

IDEA 4: Visual cues

Use icons or pictures relating to the actions/properties of the items in the list. This allows easy scanning.

  • Thanks for replying, I'm afraid the only filter I could apply in this case is alphabetical, I haven't any other grouping criteria. Since plain tables in iOS could show an alphabetical index, but ASFAIK grouped tables can't, I need someone to tell me if it may result inconsistent to navigate from a view with a grouped table to a view with a plain table
    – AppsDev
    Commented Jul 29, 2013 at 6:10

You already named the best solution: Search. Just look at the Contacts app. There is a global search for all contact groups and a search for just a group at a time.

Don't think about about the implementation while finding the best UI/problem solution. Ignore the code. UI design first. Otherwise you limit yourself finding the best solution for the user.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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