Chapter 11. Images and Deletion

In this chapter, we’ll add the interface that allows the user to create new attachments in the iOS version. Once that’s done, we’ll create the first attachment viewing interface, for image attachments, and then add the ability to remove attachments from Notes documents.

Adding Attachments

First, we’ll get started by letting users add new attachments to their documents.

To be able to create and add new attachments, we need to create an interface that lets the user choose which type of attachment to add. Initially, this will only present a single option. This will be a popover on iPad, and a modal display on iPhone; additionally, on the iPhone, we need to add the controls that will allow the user to cancel selecting it.


A popover is a view that floats above the rest of your app. Popovers are great for presenting information about a specific item on the screen, or to provide access to tools, settings, or actions for a specific object. Popovers are most commonly used on the iPad, which is what we’re doing here, where a modal view would really pull users out of what they’re doing. We’re using a modal view on non-iPad devices, where we have less available screen space.

  1. Open DocumentViewController.swift.

  2. Add a new method to the DocumentViewController class:

      func addAttachment(_ sourceView : UIView) {
          let title = "Add attachment"
          let actionSheet
              = UIAlertController(title: title,
                                  message: nil,
                                  preferredStyle: UIAlertControllerStyle
                                      .actionSheet ...

Get Learning Swift, 2nd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.