This is a demo iOS project compatible with iOS >= 4.3.
------------------ Models
- Views
- Controllers in addition to: Cells, Helpers and Slices
- Dlog: simple debugging function that displays a custom message along with filename and line
- Localizable: all strings to be localized
- Constants: One header file that references all other files
- ASIHttpRequest: http://allseeing-i.com/ASIHTTPRequest
- SBJson: https://github.com/stig/json-framework/
- Google Analytics: https://developers.google.com/analytics/devguides/collection/ios/v2/
- MBProgressHUD: https://github.com/jdg/MBProgressHUD
- NSString Addons: HTML (remove html tags), URLEncoding, Hex
- ODRefreshControl: https://github.com/Sephiroth87/ODRefreshControl
- SDWebImage: https://github.com/rs/SDWebImage
- SMXMLDocument: https://github.com/nfarina/xmldocument
- UIImage Addons: Alpha, RoundedCorner, Resize
- RKRequestData: A custom request object that handles building urls and passing parameters either as GET or POST and PUT, and handles response parsing either as JSON or XML
- RKTextField: a custom textfield when using a custom background image, and handles insets
- CustomButton: reusable button view to reduce repetition of lines of code that set font, alignment and size
- RKPageControl: a custom page control for custom bullets
- PortraitViewController: a parent controller for all view controllers in a Portrait Application where also some controllers could be Landscape such as MPMoviePlayer
- Networking: a custom networking singleton handler that handles all requests and their responses parsing and passing data among controllers. Starts requests, cancels them, creates timeouts.
- Header: contains 4 Buttons, Title, Left, Right and possibly a Center buttons as well. With their methods calling delegate functions. Controller should implement method LeftButtonClicked if that controller opens a left menu for example or perfom another action
- Left: contains a TableView, and takes an array of items to display in the table. Controller should implement its delegate method to perform actions depending on the row selected.
- SectionHeader and SectionFooter: simple views that can be used to show views in sections for tables.
- Main: a simple view which can contain anything. The example contains a table view with variable height rows
The project contains a MainViewController, which extends PortraitViewController. A controller contains a HeaderView, a CenterView and possibly a LeftView.
The Controller implements Delegate methods for basically the HeaderView, the Networking, the Request and others possibly
The controller contains an array that holds request ids, which are handled in the networking and request delegate methods