Question

Imagine an app that allowed the Beatles to work on multiple albums at the same time. So on the left you have a list of two albums (Abbey Road and Sergent Pepper's) and if you select Abbey Road, it gives you a list of all the songs on Abbey Road. If you select one of those songs ("Come Together" in the example below), it opens the text of that song in a detail view and allows you to edit the song lyrics. So instead of a Master Detail set up, it's like a Master Master Detail arrangement with two table views and a detail view. Persistence will be done with Core Data.

Is this the recommended way to do it? I've seen some comments online that nesting table views is not great UI.

TableView                 TableView                                 Detail

    Albums (list)              **AbbeyRoad**   (songlist)            Come Together (songtext)

    1.AbbeyRoad            ComeTogether                       Here come old flattop blah blah
    2.Sergent Pepper's     Something 
                           Maxwell's Silver Hammer
Was it helpful?

Solution

Never, ever, ever put one table view inside another. Gack. That's a user interface disaster in the making.

You could use a sectioned table view, where the sections are albums, and the rows within a section are the songs.

For iPad, you could have side-by-side table views, but that doesn't work on iPhone.

Apple intends you to use a split view controller for that on iPad, and a sequence of master>detail>sub_detail view controllers on iPhone. You can go down as many levels as needed.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top