Dorian Gray as a name may be the perfect parody for a little photo viewing app.
- Like button with spinner animation
- Like count
- Save 'Like' button state locally when the button is toggled
- UX Improvements
- "No Image" placeholder image before downloaded image arrives
- Updated image height constraints and image loading on scrolling to fine-tune UX
- Update GCD queues' priorities to fine-tune scrolling performance
- Full screen mode to view images (Instagram app does not have full screen viewing feature; Understand that Instagram is trying to remain square-size photos); Single tap gesture to enter/exist between table view and full-screen mode
- Simple custom animation implementation for toggling between table view and full-screen mode
- Double tap gesture on full-screen would zoom out image to a smaller scale with the existing table view on background; Pinch gesture to rotate image to see basic animation
- Share button to use iPhone standard menu that offers standard features such as saving images locally, mailing, etc. (Instagram app won't let you save the images locally yet.)
- Long-presse gesture on table view's image cell would bring up the same iPhone standard menu
- Use AFNetwork framework
- GCD (Grand Central Dispatch) implementation with multiple threads with different priorities, around image download, archiving images locally and retrieving images
- Retrieve and render only visible images on the deceleration of scrolling to mimic lazy-loading, or load just-in-time behavior
- Various code improvements and fixes
Full Screen Mode
- Integrated with Instagram API with login & authentication
- Infinitive Scroll
- Pull-to-Refresh
- NSNotificationCenter pattern to manage data changes between models and API
- KVO (Key-Value Observing) pattern to manage touch events
- Programmatic constraints to manage auto-layouts
- Fluency of subclassing UITableView, UITableviewcell, UIWebView
More features are coming...
Instagram Integration Demo
Demo with randomly generated static data in previous version: