
Learn to translate a UI design into a real-world quotes to go app, implement data saving and iCloud sharing, and build custom transitions and dynamic images.
Explore translating design to code for a quotes app, addressing layout, constraints, custom transitions, and Wikipedia API sourcing with face centering, circular images, and resizable text views across screens.
This lecture contains the starter files and the artwork for the Quotes To Go app
You don't need to watch this video if you are familiar with the basics of Autolayout and how to use standard UI components.
For an introduction to CoreData have a look at my free YouTube tutorial:
https://www.youtube.com/watch?v=icB_6ZydCUM
Develop a generic core data helper class with class functions to access the managed object context, insert entities like author or quote, and fetch results with predicates and sort descriptors.
Store 51 quotes with authors in a daily quotes plist with a root key and dictionaries, then load them randomly in the welcome view controller from the main bundle.
Define a selected random quote property, pick a random quote from a dictionary-based list, and display the author and quote in the welcome view as the view appears.
Create a custom UITextView subclass that computes its height from content using size that fits, then adds or updates a height constraint to render a resizable quote view.
To learn more about the WikiFace class watch my YouTube tutorial about face detection: https://www.youtube.com/watch?v=62kUursmc4E
Wire a navigation controller delegate to enable a custom view controller transition. Implement a star transition animator to move from the welcome screen to the overview after saving a quote.
Implement a custom transition between the welcome and overview view controllers by building a start transition animator that conforms to UIViewControllerAnimatedTransitioning, uses a 0.6 second duration, and fades and slides via a container view.
Create a custom cocoa touch class called image masquer to mask author images into a round shape using a mask image and a graphics context.
Validate input by ensuring the quote text is not empty and not equal to 'enter quote here', and update UI on the main thread to display quotes safely.
Transfer the selected quote from all quotes to the code view using the show quote segue, populate content, author, image, and creation date, and add dismiss and line spacing.
Learn to load a zip file at runtime, load a code search nib, show a search action, and animate the search menu into view using a springy constraint update.
Implement a swift search algorithm to hide and reveal the search menu, handle text field input with a case-insensitive predicate for quotes and authors, and animate ui updates.
Learn to implement swipe to delete in a table view using custom row actions, a destructive red delete button, and animated deletions updating the data source and Core Data.
Implement a share quotes feature using UIActivityViewController to share a quote string with the author's name through social apps, email, or messaging.
In this course you will create a fully customised iOS 9 application called Quotes To Go from start to finish. Quotes to Go was created specifically to work as an example for this course and has already been downloaded from the Appstore by thousands of people around the world. So this is not just a simple demo application. This is a 100% real world app.
This course is for everyone who wants to learn more than the basics of iOS development. After watching this course you will have immersive knowledge about professional iOS development and advanced programming techniques.
Some of the highlights that we we are going to cover are:
Course abstract
After introducing you to the Quotes To Go App, which this course is about, we will have a close look at the design and we will identify key obstacles that we have to face when translating UI design into code. We will move on by learning more about data saving techniques like CoreData and plists. After saving our first quotes we will cover custom ViewController transitions to ensure a great user experience. Displaying all quotes in a beautifully designed TableView will be the next item on our way. We will even use Wikipedia to find images of famous people and use them as author images. We will also perform face detection to ensure that a persons face is always visible. After integrating some basic features like adding, deleting and sharing quotes, we will focus our efforts on one of the app’s highlights, which is generating great looking quote images that can be saved, but also shared on social media, via text, or e-mail. We will conclude this course by integrating the ability to sync data using iCloud.