Book Image

iOS 10 Programming for Beginners

By : Craig Clayton
Book Image

iOS 10 Programming for Beginners

By: Craig Clayton

Overview of this book

You want to build iOS applications for iPhone and iPad—but where do you start? Forget sifting through tutorials and blog posts, this is a direct route into iOS development, taking you through the basics and showing you how to put the principles into practice. With every update, iOS has become more and more developer-friendly, so take advantage of it and begin building applications that might just take the App Store by storm! Whether you’re an experienced programmer or a complete novice, this book guides you through every facet of iOS development. From Xcode and Swift—the building blocks of modern Apple development—and Playgrounds for beginners, one of the most popular features of the iOS development experience, you’ll quickly gain a solid foundation to begin venturing deeper into your development journey. For the experienced programmer, jump right in and learn the latest iOS 10 features. You’ll also learn the core elements of iOS design, from tables to tab bars, as well as more advanced topics such as gestures and animations that can give your app the edge. Find out how to manage databases, as well as integrating standard elements such as photos, GPS into your app. With further guidance on beta testing with TestFlight, you’ll quickly learn everything you need to get your project on the App Store!
Table of Contents (26 chapters)
iOS 10 Programming for Beginners
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
Free Chapter
1
Getting Familiar with Xcode
Index

Restaurant listing


For our restaurant listing page, we want a one-column grid on all phones and a two-column grid on all iPads. If you build and run the project by hitting the play button (or use CMD + R) and go to a restaurant listing page, you will see that we need to fix the spacing on the iPad to show two-columns correctly:

Let's see how we can fix this.

Open the RestaurantListViewController.swift file and add the following under the prepare() method:

func initialize() {
    if Device.isPad { setupCollectionView() }
}

Tip

You will get an error for the setupCollectionView() method. Ignore it for now as we will fix it shortly.

This method checks if the device is an iPad; if it is, it calls the setupCollectionView()method.

Next, add the following under the initialize() method we just added:

func setupCollectionView() {
    let flow = UICollectionViewFlowLayout()
    
    flow.sectionInset = UIEdgeInsets(top: 7, left: 7, bottom: 7, right: 7)
    flow.minimumInteritemSpacing = 0
    flow.minimumLineSpacing...