Assignment1 - Flicks is a movies viewer application for iOS.
Submitted by: Davis Guohua Xie
User Stories
The following required functionality is complete:
-
User can view a list of movies currently playing in theaters from The Movie Database.
-
Poster images are loaded using the UIImageView category in the AFNetworking library.
-
The movie poster is available by appending the returned poster_path to https://image.tmdb.org/t/p/w342.
-
User sees a loading state while waiting for the movies API. You can use one of the 3rd party libraries listed on CocoaControls.
[X]User can pull to refresh the movie list.
The following optional features are implemented:
-
User sees an error message when there's a networking error. You may not use UIAlertController or a 3rd party library to display the error. See this screenshot for what the error message should look like. Hint: Using the hidden property of a view can be helpful to toggle the network error view's visibility. (This app implemented some codes from Isuru Nanayakkara: Reach.swift)
-
Movies are displayed using a CollectionView instead of a TableView.
[ ]User can search for a movie. Hint: Consider using a UISearchBar for this feature. Don't use the UISearchDisplayController.
[ ]All images fade in as they are loading: Hint: Use the - (void)setImageWithURLRequest:(NSURLRequest *)urlRequest method in AFNetworking. Create an additional category method that has a success block that fades in the image. The image should only fade in if it's coming from network, not cache.
[x]Customize the UI. You can use Iconmonstr and The Noun Project as good sources of images.
Here's a walkthrough of implemented user stories:
GIF created with LiceCap.
Notes
Describe any challenges encountered while building the app.
License
Copyright [2015] [Davis Guohua Xie]
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Name of your app is a movies app displaying box office and top rental DVDs using The Movie Database API.
Time spent: X hours spent in total
The following required functionality is completed:
- User can view movie details by tapping on a cell.
- User can select from a tab bar for either Now Playing or Top Rated movies.
- Customize the selection effect of the cell.
The following optional features are implemented:
- For the large poster, load the low resolution image first and then switch to the high resolution image when complete.
- Customize the navigation bar.
The following additional features are implemented:
- List anything else that you can get done to improve the app functionality!
Please list two areas of the assignment you'd like to discuss further with your peers during the next class (examples include better ways to implement something, how to extend your app in certain ways, etc):
Here's a walkthrough of implemented user stories:
GIF created with LiceCap.
Describe any challenges encountered while building the app.
Copyright [2016] [Davis Guohua Xie]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.