Skip to content

Repository files navigation

htk-ios-RottenTomatoes

This is a basic Rotten Tomatoes (read-only) client.

CodePath iOS Bootcamp September 2014 - Week 1 Project

GIF Screen Cap

Here's an animated GIF (made with LiceCAP) of what it looks like:

Download and Build Instructions

  • Clone the repository
  • Install CocoaPods
    • sudo gem install cocoapods
  • Install Pods
    • pod install
  • Update/initialize the hacktoolkit-ios_lib submodule (temporary step until CocoaPods supports Swift source files natively)
    • git submodule init
    • git submodule update
  • Set up API keys
    • Create a secrets.xcconfig config file based on secrets.xcconfig.template
    • Obtain an API key from the Rotten Tomatoes API page and add the key to secrets.xcconfig
  • Run it!

Features (User Stories)

Time spent: 15+ hours

Completed:

  • User can view a list of movies from Rotten Tomatoes. Poster images must be loading asynchronously.
  • User can view movie details by tapping on a cell
  • User sees loading state while waiting for movies API. Using MBProgressHUD. (Other alternatives were considered among 3rd party libraries at cocoacontrols.com)
  • User sees error message when there's a networking error. (Without using UIAlertView, because it is crappy). Sorta working, using TSMessages
  • User can pull to refresh the movie list.

Optional user stories completed:

  • All images fade in. Achieved by using UIView.animateWithDuration(...)
  • For the large poster, load the low-res image first, switch to high-res when complete. Achieved by using self.fullPosterImage.setImageWithURL(NSURL(string: movie.originalPosterUrl), placeholderImage: self.movieCellSender!.thumbnailPosterImage.image)
  • All images should be cached in memory and disk (in order to have images load immediately upon cold start). In progress; have an in-memory dictionary cache of url String : UIImage and need to figure out how to do that.
  • Customize the highlight and selection effect of the cell. (Turned off the default)
  • Customize the navigation bar. (Changed text and background colors, opacity)
  • Add a tab bar for Box Office and DVD. Switches between the two using a common ViewController by embedding in Container Views. Couldn't figure out how to change the color of the tab bar.
  • Add a search bar. Filters movies with titles containing the searchText substring using case insensitive search and UISearchBarDelegate

About

Basic Rotten Tomatoes client

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages