Skip to Content
Learning Swift, 2nd Edition
book

Learning Swift, 2nd Edition

by Paris Buttfield-Addison, Tim Nugent, Jon Manning
April 2017
Beginner
513 pages
11h 53m
English
O'Reilly Media, Inc.
Content preview from Learning Swift, 2nd Edition

Chapter 14. Polishing the iOS App

Our iOS notes application is now largely feature-complete. It’s fully operational, but could do with a few more finishing touches to add some polish. In this chapter, we’ll add support for opening links in the provided web browser view controller, overall app settings, undo, and image filters.

Opening Links in SFSafariViewController

Links in the text are currently tappable, but this functionality is not ideal, for two reasons:

  • It’s available only when the text view is not editable.

  • Tapping links launches Safari, taking users out of the app. This is probably something they don’t want.

To fix the first problem, we’ll add support for moving between an “editing” mode and a “viewing” mode for the DocumentViewController. To fix the second, we’ll override the existing behavior for opening links, and instead open them in the SFSafariViewController.

There are three ways in which an app can display web content: creating a custom mini-browser by using WKWebView or UIWebView, pushing the user out of the app by opening Safari using openURL, or using SFSafariViewController to display a compact version of Safari within the app.

WKWebView or UIWebView are outside the scope of this book, as these days they’re only necessary if you’re doing something complex with web views, or you’re making your own web browser for iOS (like Chrome, Firefox, Mercury Browser, or similar). In the past, most apps implemented their own custom mini-browser using either UIWebView ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Learning Swift

Learning Swift

Paris Buttfield-Addison, Jon Manning, Tim Nugent
Learning Swift, 3rd Edition

Learning Swift, 3rd Edition

Jonathon Manning, Paris Buttfield-Addison, Tim Nugent
Swift 2 for Absolute Beginners

Swift 2 for Absolute Beginners

Gary Bennett, Brad Lees

Publisher Resources

ISBN: 9781491967058Errata Page