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.

In order 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 actionSheet
              = UIAlertController(title: "Add attachment",
                                  message: nil,
                                  preferredStyle: UIAlertControllerStyle
          actionSheet ...

Get Learning Swift now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.