Dialog Alternatives
Alert views and actions sheets are limited, inflexible, and inappropriate to any but the simplest cases. In more complex situations, it really isn’t that much work to implement an alternative.
Warning
One occasionally sees a misuse of the built-in dialogs to include additional interface. For example, a UIActionSheet is a UIView, so in theory you can add a subview to it. I cannot recommend such behavior; it clearly isn’t intended, and there’s no need for it. If what you need isn’t what a built-in dialog normally does, don’t use a built-in dialog.
On the iPhone, the main alternative is to navigate to a new screenful of interface. This might be by way of a navigation interface, or using a modal view. For example, in the Zotz app, in the Settings view, when the user taps a color, I summon a modal view, using a UIViewController subclass of my own, ColorPickerController (Figure 26-5).

Figure 26-5. A modal view functioning as a modal dialog
On Mac OS X, the color picker in Figure 26-5 might be presented as a secondary window acting as a dialog. On the small iPhone screen, where there are no secondary windows, the modal view is the equivalent of a dialog. Indeed, one might argue that the action sheet shown in Figure 26-2 is not a very appropriate use of an action sheet, that it’s too intrusive and has too many buttons. It might have been better if I’d designed my own modal ...
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