iOS Multi-Level List Viewer
In this project, you'll use what we've learned about tables in iOS to build an app that
presents hierarchical data. As you'll see from the examples, this is a common pattern.
Data Requirements
You'll work with at least two levels of lists, using the first level to get to the second level,
and then using the second level to get to more detailed information.
You can use whatever data you want, but it needs to meet these requirements (be sure to add a comment to cite your source if needed):
- First level list needs at least 3 items.
- All second level lists need to have at least one item. At least one of the second level lists should have more than one item.
- The items from the second level lists need at least 4 characteristics to be displayed in an alert.
- The items from the second level lists could use different sets of properties or share the same one(s).
App Requirements
Create a new iOS app project with an appropriate name.
- NavigationController
- Use a NavigationController as the root view controller for the app's window.
- Main menu:
- Use a UITableViewController.
- This UITableViewController should be the root view controller for the NavigationController.
- Use any of the four built-in cell styles.
- You may want to use one of the built-in cell accessories.
- Launch the appropriate second level menu when a cell is selected.
- Second level menu(s):
- Use a UIViewController with a UITableView added to it. The title for this view controller should indicate which main menu item was selected.
- Use a different one of the four built-in cell styles for at least one of the second level menus (different than the style used for the main menu).
- Implement cell reuse for ALL second level menus.
- Display an alert with the details of the item when a cell is selected. The alert should show at least 4 characteristics / properties for the selected item.
- Depending on your data, you may share the same view controller, UITableViewSource subclass, custom cell, etc. for this menu for each item from the main menu
or you may need to create a separate one.
- OPTIONAL: Create and use a custom cell for the table for at least one of the second level menus. If you want to work with some custom fonts,
you should take a look at iosfonts.com.
Xamarin has documentation on creating custom cell layouts.
This page may also be helpful:
creating iOS UI using code.
- OPTIONAL: Implement at least one of
section headers,
section footers,
or an index
for at least one of the second level menus.
Please zip up and submit the source code for your completed app. Please let me know if you have any questions.
Examples
My Favorite Things
- Movies (data from on IMDb)
-
- Title: The Shawshank Redemption
- Director: Frank Darabont
- Rating: R
- ReleaseDate: 1994-10-14
-
- Title: Inception
- Director: Christopher Nolan
- Rating: PG-13
- ReleaseDate: 2010-07-16
-
- Title: Up
- Director: Pete Docter
- Rating: PG
- ReleaseDate: 2009-05-29
- Books
-
- Title
- Author
- ISBN
- DatePublished
- Rating
- DateLastRead
-
- Title
- Author
- ISBN
- DatePublished
- Rating
- DateLastRead
- Places
-
- Name
- Description
- Location
- Latitude
- Longitude
- DateFirstVisited
- DateLastVisited
Class Schedule
- Monday
-
- Title: Economics
- StartTime: 0800
- EndTime: 1150
- Location: A234
- Instructor: Mr. Green
- Tuesday
-
- Title: Object Oriented Programming 2
- StartTime: 0800
- EndTime: 1150
- Location: A168
- Instructor: Mr. Orange
-
- Title: Physics
- StartTime: 1300
- EndTime: 1650
- Location: F212
- Instructor: Mrs. White
- Wednesday
- Thursday
- Friday
Catalog for a Used Car Lot (made up info)
- Cars
-
- Make: Ford
- Model: Fusion
- Year: 2012
- Mileage: 24599
- Price: 12999
-
- Make: Chevy
- Model: Malibu
- Year: 2014
- Mileage: 4763
- Price: 14999
-
- Make: Chevy
- Model: Camero
- Year: 1967
- Mileage: 99236
- Price: 9999
- Trucks
-
- Make: Ford
- Model: F-150
- Year: 2014
- Mileage: 30452
- Price: 26999
-
- Make: Chevy
- Model: Silverado
- Year: 2010
- Mileage: 78348
- Price: 15995
- Vans
-
- Make: Honda
- Model: Odyssey
- Year: 2013
- Mileage: 25042
- Price: 9956
-
- Make: Toyota
- Model: Sienna
- Year: 2015
- Mileage: 8123
- Price: 24999
Music Collection
Genres > Songs > Song Details
Albums > Songs > Song Details
Genres > Albums > Songs > Song Details
Mail App
Accounts > E-mails > E-mail Details