Last active
August 29, 2015 14:03
-
-
Save fcanas/6fff80fbba9f889671cd to your computer and use it in GitHub Desktop.
iOS Major UI Components Rundown and Resources
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Overview | |
| Apple provides a good [introduction to view controllers](https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/Introduction/Introduction.html#//apple_ref/doc/uid/TP40007457) that starts off very general and proceeds to highly technical. The introduction is probably worth reading for anyone interacting with iOS developers (_e.g._ designers and product managers. Next, I would look at a [catalog](https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/ViewControllerCatalog/Introduction.html#//apple_ref/doc/uid/TP40011313) of the "container" view controllers they encourage you to use. | |
| # Table Views | |
| The [table view](https://developer.apple.com/library/ios/documentation/userexperience/conceptual/tableview_iphone/AboutTableViewsiPhone/AboutTableViewsiPhone.html) is one of the heaviest hitters in iOS. It's been around since the beginning, is dead-simple to use and is _highly_ customizable. | |
| See also UITableViewCells | |
| # Collection Views | |
| Collection views are generalized table views. They can do all the same things but are more customizable. They still present an ordered set of customizable cells arranged in sections. They typically present information in a grid, but are much more powerful than that. | |
| [Apple's Collection View Programming Guide](https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/CollectionViewPGforIOS/Introduction/Introduction.html) | |
| [NSHipster's introduction to collection views](http://nshipster.com/uicollectionview/) | |
| [Key technical details in objc.io](http://www.objc.io/issue-3/collection-view-layouts.html) | |
| [UIDynamics and Collection Views (again objc.io)](http://www.objc.io/issue-5/collection-views-and-uidynamics.html) | |
| In some apps, what you may think is a table view may actually be a collection view because of the versatility it provides. For example, if you want to have section headers be "sticky" to both the top (as in a table view's section headers) and the bottom it's best to start with a collection view. Just a little bit of work gets the collection view emulating the behavior of a table view. | |
| There may also be collections of items that don't remotely resemble a grid that are most easily made with a collection view. "Cover Flow" and Calendar views (the items are the appointments) are examples of what can be built with collection views. | |
| See also | |
| * UICollectionViewCell | |
| * UICollection Supplementary Views (like headers and footers, but more generic) | |
| * UICollectionViewLayout (usually a UICollectionViewFlowLayout) | |
| # UINavigationController | |
| If you're navigating through a hierarchy in iOS, you're probably using a navigation controller. It's everywhere: Settings, Mail, Photos. It's transitions don't have to be simple left-to-right, as shown in the Photos app. | |
| [Apple Documentation for UINavigationController](https://developer.apple.com/library/ios/documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment