iOS Developer Library — Prerelease

Developer

UIKit Framework Reference

Introduction

Classes   Protocols   Other Reference  

The UIKit framework (UIKit.framework) provides the crucial infrastructure needed to construct and manage iOS apps. This framework provides the window and view architecture needed to manage an app’s user interface, the event handling infrastructure needed to respond to user input, and the app model needed to drive the main run loop and interact with the system.

In addition to the core app behaviors, UIKit provides support for the following features:

  • A view controller model to encapsulate the contents of your user interface

  • Support for handling touch- and motion-based events

  • Support for a document model that includes iCloud integration; see Document-Based App Programming Guide for iOS

  • Graphics and windowing support, including support for external displays; see View Programming Guide for iOS

  • Support for managing the app’s foreground and background execution

  • Printing support; see Drawing and Printing Guide for iOS

  • Support for customizing the appearance of standard UIKit controls

  • Support for text and web content

  • Cut, copy, and paste support

  • Support for animating user-interface content

  • Integration with other apps on the system through URL schemes and framework interfaces

  • Accessibility support for disabled users

  • Support for the Apple Push Notification service; see Local and Remote Notification Programming Guide

  • Local notification scheduling and delivery; see Local and Remote Notification Programming Guide

  • PDF creation

  • Support for using custom input views that behave like the system keyboard

  • Support for creating custom text views that interact with the system keyboard

  • Support for sharing content through email, Twitter, Facebook, and other services

In addition to providing the fundamental code for building your app, UIKit also incorporates support for some device-specific features, such as the following:

  • The built-in camera (where present)

  • The user’s photo library

  • Device name and model information

  • Battery state information

  • Proximity sensor information

  • Remote control information from attached headsets

Classes

NSObject

NSObject is the root class of most Objective-C class hierarchies.

NSDataAsset

NSFileProviderExtension

NSFileProviderExtension is the principal class for the File Provider extension.

NSLayoutAnchor

The NSLayoutAnchor class is a factory class for creating NSLayoutConstraint objects using a fluent API.

NSLayoutDimension

The NSLayoutDimension class is a factory class for creating size-based NSLayoutConstraint objects using a fluent API.

NSLayoutXAxisAnchor

The NSLayoutXAxisAnchor class is a factory class for creating horizontal NSLayoutConstraint objects using a fluent API.

NSLayoutYAxisAnchor

The NSLayoutYAxisAnchor class is a factory class for creating vertical NSLayoutConstraint objects using a fluent API.

NSLayoutConstraint

A constraint defines a relationship between two user interface objects that must be satisfied by the constraint-based layout system.

NSLayoutManager

An NSLayoutManager object coordinates the layout and display of characters held in an NSTextStorage object.

NSParagraphStyle

The NSParagraphStyle class and its subclass NSMutableParagraphStyle encapsulate the paragraph or ruler attributes used by the NSAttributedString classes.

NSMutableParagraphStyle

The NSMutableParagraphStyle class adds methods to its superclass, NSParagraphStyle, for changing the values of the subattributes in a paragraph style attribute.

NSShadow

An NSShadow object encapsulates the attributes used to create a drop shadow during drawing operations.

NSStringDrawingContext

The NSStringDrawingContext class manages metrics used when drawing attributed strings.

NSTextAttachment

NSTextAttachment objects are used by the NSAttributedString class cluster as the values for attachment attributes (stored in the attributed string under the key named NSAttachmentAttributeName).

NSTextContainer

The NSTextContainer class defines a region in which text is laid out.

NSTextTab

An NSTextTab object represents a tab in an NSParagraphStyle object, storing an alignment type and location.

UIAcceleration

An instance of the UIAcceleration class, called an acceleration event, represents immediate, three-dimensional acceleration data.

UIAccelerometer

The UIAccelerometer class lets you register to receive acceleration-related data from the onboard hardware.

UIAccessibilityCustomAction

A UIAccessibilityCustomAction object represents a custom action to be performed on an accessible object.

UIAccessibilityElement

The UIAccessibilityElement class encapsulates information about an item that should be accessible to users with disabilities, but that isn’t accessible by default.

UIActivity

The UIActivity class is an abstract class that you subclass in order to implement application-specific services.

UIAlertAction

A UIAlertAction object represents an action that can be taken when tapping a button in an alert.

UIBarButtonItemGroup

UIBarItem

UIBarItem is an abstract superclass for items added to a bar that appears at the bottom of the screen.

UIBarButtonItem

A bar button item is a button specialized for placement on a UIToolbar or UINavigationBar object.

UITabBarItem

The UITabBarItem class implements an item on a UITabBar object.

UIBezierPath

The UIBezierPath class lets you define a path consisting of straight and curved line segments and render that path in your custom views.

UICollectionViewLayout

The UICollectionViewLayout class is an abstract base class that you subclass and use to generate layout information for a collection view.

UICollectionViewFlowLayout

The UICollectionViewFlowLayout class is a concrete layout object that organizes items into a grid with optional header and footer views for each section.

UICollectionViewTransitionLayout

The UICollectionViewTransitionLayout class is a special type of layout object that lets you implement behaviors when changing from one layout to another in your collection view.

UICollectionViewLayoutAttributes

An UICollectionViewLayoutAttributes object manages the layout-related attributes for a given item in a collection view.

UICollectionViewLayoutInvalidationContext

A UICollectionViewLayoutInvalidationContext object declares which parts of your layout need to be updated when the layout is invalidated.

UICollectionViewFlowLayoutInvalidationContext

A UICollectionViewFlowLayoutInvalidationContext object specifies properties for determining whether to recompute the size of items or their position in the layout.

UICollectionViewUpdateItem

The UICollectionViewUpdateItem class describes a single change to make to an item in a collection view.

UIColor

A UIColor object represents color and sometimes opacity (alpha value).

UIDevice

The UIDevice class provides a singleton instance representing the current device.

UIDictationPhrase

A dictation phrase object represents the textual interpretation of a spoken phrase as dictated by a user.

UIDocument

The UIDocument class is an abstract base class for managing the data of documents.

UIManagedDocument

UIManagedDocument is a concrete subclass of UIDocument that integrates with Core Data.

UIDocumentInteractionController

A document interaction controller, along with a delegate object, provides in-app support for managing user interactions with files in the local system.

UIDynamicAnimator

A dynamic animator provides physics-related capabilities and animations for its dynamic items, and provides the context for those animations.

UIDynamicBehavior

A dynamic behavior confers a behavioral configuration on one or more dynamic items for their participation in two-dimensional animation.

UIAttachmentBehavior

An attachment behavior specifies a dynamic connection between two dynamic items, or between a dynamic item and an anchor point.

UICollisionBehavior

A collision behavior confers, to a specified array of dynamic items, the ability of those items to engage in collisions with each other and with the behavior’s specified boundaries.

UIDynamicItemBehavior

A dynamic item behavior represents a base dynamic animation configuration for one or more dynamic items.

UIFieldBehavior

UIGravityBehavior

A gravity behavior specifies a gravity vector that applies to all of its dynamic items.

UIPushBehavior

A push behavior applies a continuous or instantaneous force to one or more dynamic items, causing those items to change position accordingly.

UISnapBehavior

A snap behavior defines a dynamic item’s movement to a specified point; the movement proceeds with a spring-like effect, ending with an oscillation whose amount you can set.

UIDynamicItemGroup

UIEvent

A UIEvent object (or, simply, an event object) represents an event in iOS.

UIFont

The UIFont class provides the interface for getting and setting font information.

UIFontDescriptor

UIFontDescriptor objects provide a mechanism to describe a font with a dictionary of attributes.

UIGestureRecognizer

UIGestureRecognizer is an abstract base class for concrete gesture-recognizer classes.

UILongPressGestureRecognizer

UILongPressGestureRecognizer is a concrete subclass of UIGestureRecognizer that looks for long-press gestures.

UIPanGestureRecognizer

UIPanGestureRecognizer is a concrete subclass of UIGestureRecognizer that looks for panning (dragging) gestures.

UIScreenEdgePanGestureRecognizer

A UIScreenEdgePanGestureRecognizer looks for panning (dragging) gestures that start near an edge of the screen.

UIPinchGestureRecognizer

UIPinchGestureRecognizer is a concrete subclass of UIGestureRecognizer that looks for pinching gestures involving two touches.

UIRotationGestureRecognizer

UIRotationGestureRecognizer is a concrete subclass of UIGestureRecognizer that looks for rotation gestures involving two touches.

UISwipeGestureRecognizer

UISwipeGestureRecognizer is a concrete subclass of UIGestureRecognizer that looks for swiping gestures in one or more directions.

UITapGestureRecognizer

UITapGestureRecognizer is a concrete subclass of UIGestureRecognizer that looks for single or multiple taps.

UIImage

A UIImage object is a high-level way to display image data.

UIImageAsset

A UIImageAsset object is a container for a collection of images that represent multiple ways of describing a single piece of artwork.

UIKeyCommand

The UIKeyCommand class specifies a key presses performed on a hardware keyboard and the resulting action that should take place.

UILayoutGuide

The UILayoutGuide class defines a rectangular area that can interact with Auto Layout.

UILexicon

A lexicon contains a read-only array of term pairs, each in a UILexiconEntry object, for use by a custom keyboard.

UILexiconEntry

A lexicon entry specifies a read-only term pair, available within a UILexicon object, for use by a custom keyboard.

UILocalNotification

A UILocalNotification object specifies a notification that an app can schedule for presentation at a specific date and time.

UILocalizedIndexedCollation

The UILocalizedIndexedCollation class is a convenience for organizing, sorting, and localizing the data for a table view that has a section index.

UIMenuController

The singleton UIMenuController instance presents the menu interface for the Cut, Copy, Paste, Select, Select All, and Delete commands.

UIMenuItem

An instance of the UIMenuItem class represents a custom item in the editing menu managed by the UIMenuController object.

UIMotionEffect

The UIMotionEffect class is an abstract superclass for defining motion-based modifiers for views.

UIInterpolatingMotionEffect

A UIInterpolatingMotionEffect object maps the horizontal or vertical tilt of a device to values that you specify so that UIKit can apply those values to your views.

UIMotionEffectGroup

The UIMotionEffectGroup class manages a collection of motion effects that you want to apply to a view at the same time.

UINavigationItem

A UINavigationItem object manages the buttons and views to be displayed in a UINavigationBar object.

UINib

Instances of the UINib class serve as object wrappers, or containers, for Interface Builder nib files.

UIPasteboard

The UIPasteboard class enables an app to share data within the app and with another app.

UIPercentDrivenInteractiveTransition

A percent-driven interactive transition object drives the custom animation between the disappearance of one view controller and the appearance of another.

UIPopoverController

The UIPopoverController class is used to manage the presentation of content in a popover.

UIPresentationController

A UIPresentationController object provides advanced view and transition management for presented view controllers.

UIPopoverPresentationController

A UIPopoverPresentationController object manages the display of content in a popover.

UIPrintFormatter

UIPrintFormatter is an abstract base class for print formatters: objects that lay out custom printable content that can cross page boundaries.

UIMarkupTextPrintFormatter

Instances of the UIMarkupTextPrintFormatter class lay out HTML markup text for a multipage print job.

UISimpleTextPrintFormatter

Instances of the UISimpleTextPrintFormatter class lay out plain text for printing, possibly over multiple pages.

UIViewPrintFormatter

An instance of the UIViewPrintFormatter class lays out the drawn content of a view for printing.

UIPrintInfo

A UIPrintInfo object encapsulates information about a print job, including printer identifier, job name, output type (photo, normal, grayscale), orientation (portrait or landscape), and any selected duplex mode.

UIPrintInteractionController

The shared instance of the UIPrintInteractionController class presents a printing user interface and manages the printing of documents, images, and other printable content in iOS.

UIPrintPageRenderer

A UIPrintPageRenderer object draws pages of content that are to be printed, with or without the assistance of print formatters.

UIPrintPaper

An instance of the UIPrintPaper class encapsulates the size of paper used for a print job and the rectangle in which content can be printed.

UIPrinter

A UIPrinter object contains the attributes of a printer on the network.

UIPrinterPickerController

A UIPrinterPickerController object displays the system interface for selecting a printer.

UIRegion

UIResponder

The UIResponder class defines an interface for objects that respond to and handle events.

UIApplication

The UIApplication class provides a centralized point of control and coordination for apps running on iOS.

UIView

The UIView class defines a rectangular area on the screen and the interfaces for managing the content in that area.

UIActionSheet

Important: UIActionSheet is deprecated in iOS 8.

UIActivityIndicatorView

Use an activity indicator to show that a task is in progress.

UIAlertView

Important: UIAlertView is deprecated in iOS 8.

UICollectionReusableView

The UICollectionReusableView class defines the behavior for all cells and supplementary views presented by a collection view.

UICollectionViewCell

A UICollectionViewCell object presents the content for a single data item when that item is within the collection view’s visible bounds.

UIControl

UIControl is the base class for control objects such as buttons and sliders that convey user intent to the application.

UIButton

An instance of the UIButton class implements a button on the touch screen.

UIDatePicker

The UIDatePicker class implements an object that uses multiple rotating wheels to allow users to select dates and times.

UIPageControl

You use the UIPageControl class to create and manage page controls.

UIRefreshControl

A UIRefreshControl object provides a standard control that can be used to initiate the refreshing of a table view’s contents.

UISegmentedControl

A UISegmentedControl object is a horizontal control made of multiple segments, each segment functioning as a discrete button.

UISlider

A UISlider object is a visual control used to select a single value from a continuous range of values.

UIStepper

A stepper control provides a user interface for incrementing or decrementing a value.

UISwitch

You use the UISwitch class to create and manage the On/Off buttons used, for example, in the Settings app for options such as Airplane Mode and Bluetooth.

UITextField

A UITextField object is a control that displays editable text and sends an action message to a target object when the user presses the return button.

UIImageView

An image view object provides a view-based container for displaying either a single image or for animating a series of images.

UIInputView

The UIInputView class is designed to match the appearance of the standard system keyboard when used as an input view with a responder.

UILabel

The UILabel class implements a read-only text view.

UINavigationBar

The UINavigationBar class provides a control for navigating hierarchical content.

UIPickerView

The UIPickerView class implements objects, called picker views, that use a spinning-wheel or slot-machine metaphor to show one or more sets of values.

UIPopoverBackgroundView

The UIPopoverBackgroundView class provides the background appearance for a popover.

UIProgressView

You use the UIProgressView class to depict the progress of a task over time.

UIScrollView

The UIScrollView class provides support for displaying content that is larger than the size of the application’s window.

UICollectionView

The UICollectionView class manages an ordered collection of data items and presents them using customizable layouts.

UITableView

An instance of UITableView (or simply, a table view) is a means for displaying and editing hierarchical lists of information.

UITextView

The UITextView class implements the behavior for a scrollable, multiline text region.

UISearchBar

The UISearchBar class implements a text field control for text-based searches.

UIStackView

The UIStackView class provides a streamlined interface for laying out a collection of views in either a column or a row.

UITabBar

A tab bar is a control, usually appearing across the bottom of the screen in the context of a tab bar controller, for giving the user one-tap, modal access to a set of views in an app.

UITableViewCell

The UITableViewCell class defines the attributes and behavior of the cells that appear in UITableView objects.

UITableViewHeaderFooterView

The UITableViewHeaderFooterView class implements a reusable view that can be placed at the top or bottom of a table section.

UIToolbar

A toolbar is a control that displays one or more buttons, called toolbar items.

UIVisualEffectView

A UIVisualEffectView object gives you an easy way implement some complex visual effects.

UIWebView

You use the UIWebView class to embed web content in your application.

UIWindow

The UIWindow class defines an object known as a window that manages and coordinates the views an app displays on a device screen.

UIViewController

The UIViewController class provides the infrastructure for managing the views of your iOS apps.

UIActivityViewController

The UIActivityViewController class is a standard view controller that you can use to offer various services from your application.

UIAlertController

A UIAlertController object displays an alert message to the user.

UICollectionViewController

The UICollectionViewController class represents a view controller whose content consists of a collection view.

UIDocumentMenuViewController

A UIDocumentMenuViewController object represents a list of all the available document providers for a given file type and mode.

UIDocumentPickerExtensionViewController

The UIDocumentPickerExtensionViewController class is the principal class for the Document Picker View Controller extension.

UIDocumentPickerViewController

A UIDocumentPickerViewController object lets the user select documents or destinations outside your app’s sandbox.

UIInputViewController

To create a custom keyboard, start by subclassing the UIInputViewController class.

UINavigationController

The UINavigationController class implements a specialized view controller that manages the navigation of hierarchical content.

UIImagePickerController

The UIImagePickerController class manages customizable, system-supplied user interfaces for taking pictures and movies on supported devices, and for choosing saved images and movies for use in your app.

UIVideoEditorController

A UIVideoEditorController object, or video editor, manages the system-supplied user interface for trimming video frames from the start and end of a previously recorded movie as well as reencoding to lower quality.

UIPageViewController

A page view controller lets the user navigate between pages of content, where each page is managed by its own view controller object.

UIReferenceLibraryViewController

A UIReferenceLibraryViewController object provides a dictionary service to look up the definition of a word or term from within an app.

UISearchController

The UISearchController class defines an interface that manages the presentation of a search bar in concert with the search results controller’s content.

UISplitViewController

The UISplitViewController class is a container view controller that presents a master-detail interface.

UITabBarController

The UITabBarController class implements a specialized view controller that manages a radio-style selection interface.

UITableViewController

The UITableViewController class creates a controller object that manages a table view.

UIScreen

A UIScreen object defines the properties associated with a hardware-based display.

UIScreenMode

A UIScreenMode object represents a possible set of attributes that can be applied to a UIScreen object.

UISearchDisplayController

Important: UISearchDisplayController is deprecated in iOS 8.

UIStoryboard

A UIStoryboard object encapsulates the view controller graph stored in an Interface Builder storyboard resource file.

UIStoryboardSegue

A UIStoryboardSegue object is responsible for performing the visual transition between two view controllers.

UIStoryboardPopoverSegue

The UIStoryboardPopoverSegue class defines a specific type of segue for presenting content in a popover.

UIStoryboardUnwindSegueSource

UITableViewRowAction

A UITableViewRowAction object defines a single action to present when the user swipes horizontally in a table row.

UITextChecker

You use instances of the UITextChecker class to check a string (usually the text of a document) for misspelled words.

UITextInputAssistantItem

UITextInputMode

An instance of the UITextInputMode class represents the current text-input mode.

UITextInputStringTokenizer

The UITextInputStringTokenizer class is a base implementation of the UITextInputTokenizer protocol provided by the UIKit framework.

UITextPosition

A UITextPosition object represents a position in a text container; in other words, it is an index into the backing string in a text-displaying view.

UITextRange

A UITextRange object represents a range of characters in a text container; in other words, it identifies a starting index and an ending index in string backing a text-entry object.

UITextSelectionRect

The UITextSelectionRect class encapsulates information about a selected range of text in a document.

UITouch

A UITouch object represents the presence or movement of a finger on the screen for a particular event.

UITraitCollection

A trait collection describes the iOS interface environment for your app, including traits such as horizontal and vertical size class, display scale, and user interface idiom.

UIUserNotificationAction

A UIUserNotificationAction object represents a custom action that your app can perform in response to a remote or local notification.

UIMutableUserNotificationAction

A UIMutableUserNotificationAction object represents a modifiable version of the UIUserNotificationAction class.

UIUserNotificationCategory

A UIUserNotificationCategory object encapsulates information about custom actions that your app can perform in response to a local or push notification.

UIMutableUserNotificationCategory

A UIMutableUserNotificationCategory object encapsulates information about custom actions that your app can perform in response to a local or push notification.

UIUserNotificationSettings

A UIUserNotificationSettings object encapsulates the types of notifications that can be displayed to the user by your app.

UIVisualEffect

This class contains no methods and is intended as a way to initialize a UIVisualEffectView with UIBlurEffect and UIVibrancyEffect objects.

UIBlurEffect

A UIBlurEffect object applies a blurring effect to the content layered behind a UIVisualEffectView.

UIVibrancyEffect

A UIVibrancyEffect object amplifies and adjusts the color of the content layered behind a UIVisualEffectView object, allowing the content placed inside of the contentView to become more vivid.

NSMutableAttributedString

NSMutableAttributedString declares the programmatic interface to objects that manage mutable attributed strings.

NSTextStorage

NSTextStorage is a semiconcrete subclass of NSMutableAttributedString that manages a set of client NSLayoutManager objects, notifying them of any changes to its characters or attributes so that they can relay and redisplay the text as needed.

NSOperation

The NSOperation class is an abstract class you use to encapsulate the code and data associated with a single task.

UIActivityItemProvider

A UIActivityItemProvider object is a proxy for data passed to an activity view controller.

Protocols

NSLayoutManagerDelegate

The NSLayoutManagerDelegate protocol defines the optional methods implemented by delegates of NSLayoutManager objects.

NSTextAttachmentContainer

The NSTextAttachmentContainer protocol defines the interface to text attachment objects from NSLayoutManager.

NSTextLayoutOrientationProvider

The NSTextLayoutOrientationProvider protocol defines an interface providing the default orientation for text laid out in a conforming object, in absence of an explicit NSVerticalGlyphFormAttributeName attribute.

NSTextStorageDelegate

The NSTextStorageDelegate protocol defines the optional methods implemented by delegates of NSTextStorage objects.

UIAccelerometerDelegate

The UIAccelerometerDelegate protocol defines a single method for receiving acceleration-related data from the system.

UIAccessibility

The UIAccessibility informal protocol provides accessibility information about an application’s user interface elements.

UIAccessibilityAction

The UIAccessibilityAction informal protocol provides a way for accessibility elements to support specific actions, such as selecting values in a range or scrolling through information on the screen.

UIAccessibilityContainer

The UIAccessibilityContainer informal protocol provides a way for UIView subclasses to make selected components accessible as separate elements.

UIAccessibilityFocus

The UIAccessibilityFocus informal protocol provides a way to find out whether an assistive technology, such as VoiceOver, is focused on an accessible element.

UIAccessibilityIdentification

The UIAccessibilityIdentification protocol is used to associate a unique identifier with elements in your user interface.

UIAccessibilityReadingContent

The UIAccessibilityReadingContent protocol can be implemented on an object that represents content that is intended to be read by users, such as a book or an article.

UIActionSheetDelegate

Important: UIActionSheetDelegate is deprecated in iOS 8.

UIActivityItemSource

The UIActivityItemSource protocol defines the methods used by a UIActivityViewController object to retrieve the data items to act on.

UIAdaptivePresentationControllerDelegate

An object that conforms to the UIAdaptivePresentationControllerDelegate protocol works with a presentation controller to determine how to respond to size changes in your app.

UIAlertViewDelegate

Important: UIAlertViewDelegate is deprecated in iOS 8.

UIAppearance

Use the UIAppearance protocol to get the appearance proxy for a class.

UIAppearanceContainer

A class must adopt the UIAppearance protocol to allow appearance customization using the UIAppearance API.

UIApplicationDelegate

The UIApplicationDelegate protocol defines methods that are called by the singleton UIApplication object in response to important events in the lifetime of your app.

UIBarPositioning

The UIBarPositioning protocol defines the ways that bars can be positioned on iOS devices.

UIBarPositioningDelegate

The UIBarPositioningDelegate protocol supports the positioning of a bar that conforms to the UIBarPositioning protocol.

UICollectionViewDataSource

An object that adopts the UICollectionViewDataSource protocol is responsible for providing the data and views required by a collection view.

UICollectionViewDelegate

The UICollectionViewDelegate protocol defines methods that allow you to manage the selection and highlighting of items in a collection view and to perform actions on those items.

UICollectionViewDelegateFlowLayout

The UICollectionViewDelegateFlowLayout protocol defines methods that let you coordinate with a UICollectionViewFlowLayout object to implement a grid-based layout.

UICollisionBehaviorDelegate

To respond to UIKit dynamic item collisions, configure a custom class to adopt the UICollisionBehaviorDelegate protocol.

UIContentContainer

The methods of the UIContentContainer protocol help you adapt the contents of your view controllers to size and trait changes.

UICoordinateSpace

The UICoordinateSpace protocol defines methods for converting between different frames of reference on a screen.

UIDataSourceModelAssociation

The UIDataSourceModelAssociation protocol defines an interface for providing persistent references to data objects in your app.

UIDocumentInteractionControllerDelegate

The UIDocumentInteractionControllerDelegate protocol includes methods you can implement to respond to messages from a document interaction controller.

UIDocumentMenuDelegate

The UIDocumentMenuDelegate protocol defines the methods you must implement to track user interactions with a document menu view controller.

UIDocumentPickerDelegate

The UIDocumentPickerDelegate protocol defines the methods you must implement to track when the user selects a document or destination, or to track when the document picker is canceled.

UIDynamicAnimatorDelegate

To respond to the pausing or resumption of UIKit dynamic animation, configure a custom class to adopt the UIDynamicAnimatorDelegate protocol.

UIDynamicItem

To make a custom object eligible to participate in UIKit Dynamics, adopt the UIDynamicItem protocol in the object’s class.

UIGestureRecognizerDelegate

Delegates of a gesture recognizer—that is, an instance of a concrete subclass of UIGestureRecognizer—adopt the UIGestureRecognizerDelegate protocol to fine-tune an app’s gesture-recognition behavior.

UIGuidedAccessRestrictionDelegate

Adopting the UIGuidedAccessRestrictionDelegate protocol in your application delegate allows you to add custom restrictions for the Guided Access feature in iOS.

UIImagePickerControllerDelegate

The UIImagePickerControllerDelegate protocol defines methods that your delegate object must implement to interact with the image picker interface.

UIInputViewAudioFeedback

The UIInputViewAudioFeedback protocol defines a single property for enabling a custom input or keyboard accessory view to play standard keyboard input clicks.

UIKeyInput

A subclass of UIResponder can adopt this protocol to implement simple text entry.

UILayoutSupport

This protocol is implemented by the UIViewController properties topLayoutGuide and bottomLayoutGuide to support using Auto Layout with a view controller’s view, starting in iOS 7.

UINavigationBarDelegate

The UINavigationBarDelegate protocol defines optional methods that a UINavigationBar delegate should implement to update its views when items are pushed and popped from the stack.

UINavigationControllerDelegate

Use a navigation controller delegate (a custom object that implements this protocol) to modify behavior when a view controller is pushed or popped from the navigation stack of a UINavigationController object.

UIObjectRestoration

The UIObjectRestoration protocol should be adopted by classes that act as "restoration classes” for objects during the state restoration process.

UIPageViewControllerDataSource

The UIPageViewControllerDataSource protocol is adopted by an object that provides view controllers to the page view controller on an as-needed basis, in response to navigation gestures.

UIPageViewControllerDelegate

The delegate of a page view controller must adopt the UIPageViewControllerDelegate protocol.

UIPickerViewAccessibilityDelegate

The UIPickerViewAccessibilityDelegate protocol defines methods you can implement to provide accessibility information for individual components of a picker view.

UIPickerViewDataSource

The UIPickerViewDataSource protocol must be adopted by an object that mediates between a UIPickerView object and your application’s data model for that picker view.

UIPickerViewDelegate

The delegate of a UIPickerView object must adopt this protocol and implement at least some of its methods to provide the picker view with the data it needs to construct itself.

UIPopoverBackgroundViewMethods

The UIPopoverBackgroundViewMethods protocol defines methods that UIPopoverBackgroundView subclasses must implement.

UIPopoverControllerDelegate

The UIPopoverControllerDelegate protocol defines the methods you can implement for the delegate of a UIPopoverController object.

UIPopoverPresentationControllerDelegate

The methods of the UIPopoverPresentationControllerDelegate protocol let you customize the behavior of a popover-based presentation.

UIPrintInteractionControllerDelegate

The UIPrintInteractionControllerDelegate protocol is implemented by the delegate of the UIPrintInteractionController shared instance to perform a number of optional tasks.

UIPrinterPickerControllerDelegate

The UIPrinterPickerControllerDelegate protocol defines methods for managing the presentation and dismissal of a printer picker interface.

UIResponderStandardEditActions

The UIResponderStandardEditActions informal protocol declares methods that responder classes should override to handle common editing commands invoked in the user interface, such as Copy, Paste, and Select.

UIScrollViewAccessibilityDelegate

The UIScrollViewAccessibilityDelegate protocol defines methods you can implement to provide accessibility information for a scrollview.

UIScrollViewDelegate

The methods declared by the UIScrollViewDelegate protocol allow the adopting delegate to respond to messages from the UIScrollView class and thus respond to, and in some affect, operations such as scrolling, zooming, deceleration of scrolled content, and scrolling animations.

UISearchBarDelegate

The UISearchBarDelegate protocol defines the optional methods you implement to make a UISearchBar control functional.

UISearchControllerDelegate

This protocol defines delegate methods for UISearchController objects.

UISearchDisplayDelegate

Important: UISearchDisplayDelegate is deprecated in iOS 8.

UISearchResultsUpdating

Use the UISearchResultsUpdating protocol to update search results based on information the user enters into the search bar.

UISplitViewControllerDelegate

The UISplitViewControllerDelegate protocol defines methods that allow you to manage changes to a split view interface.

UIStateRestoring

The UIStateRestoring protocol lets you include any object in your state restoration archives.

UITabBarControllerDelegate

You use the UITabBarControllerDelegate protocol when you want to augment the behavior of a tab bar.

UITabBarDelegate

The UITabBarDelegate protocol defines optional methods for a delegate of a UITabBar object.

UITableViewDataSource

The UITableViewDataSource protocol is adopted by an object that mediates the application’™s data model for a UITableView object.

UITableViewDelegate

The delegate of a UITableView object must adopt the UITableViewDelegate protocol.

UITextDocumentProxy

A text document proxy provides textual context to a custom keyboard (which is based on the UIInputViewController class) by way of the keyboard’s textDocumentProxy property.

UITextFieldDelegate

The UITextFieldDelegate protocol defines the messages sent to a text field delegate as part of the sequence of editing its text.

UITextInput

Classes that adopt the UITextInput protocol (and conform with inherited protocols) interact with the text input system and thus acquire features such as autocorrection and multistage text input for their documents.

UITextInputDelegate

The text input delegate acts as an intermediary between a document and the text input system, conveying notifications of pending or transpired changes in text and selection in the document.

UITextInputTokenizer

An instance of a class that adopts the UITextInputTokenizer protocol is a tokenizer; a tokenizer allows the text input system to evaluate text units of different granularities.

UITextInputTraits

The UITextInputTraits protocol defines features that are associated with keyboard input.

UITextViewDelegate

The UITextViewDelegate protocol defines a set of optional methods you can use to receive editing-related messages for UITextView objects.

UIToolbarDelegate

The UIToolbarDelegate protocol defines the interface that toolbar delegate objects implement to manage the toolbar behavior.

UITraitEnvironment

The iOS interface environment, which includes such traits as horizontal and vertical size class, display scale, and user interface idiom, is available to apps through the UITraitEnvironment protocol.

UIVideoEditorControllerDelegate

The UIVideoEditorControllerDelegate protocol defines methods that your delegate object must implement to respond to the video editor.

UIViewControllerAnimatedTransitioning

Adopt the UIViewControllerAnimatedTransitioning protocol in objects that implement the animations for a custom view controller transition.

UIViewControllerContextTransitioning

The UIViewControllerContextTransitioning protocol’s methods provide contextual information for transition animations between view controllers.

UIViewControllerInteractiveTransitioning

To enable an object (such as a navigation controller) to drive a view controller transition, configure a custom class to adopt the UIViewControllerInteractiveTransitioning protocol.

UIViewControllerRestoration

The UIViewControllerRestoration protocol should be adopted by classes that act as "restoration classes” for view controllers during the state restoration process.

UIViewControllerTransitionCoordinator

An object that adopts the UIViewControllerTransitionCoordinator protocol provides support for animations associated with a view controller transition.

UIViewControllerTransitionCoordinatorContext

An object that conforms to the UIViewControllerTransitionCoordinatorContext protocol provides information about an in-progress view controller transition.

UIViewControllerTransitioningDelegate

An object that implements the UIViewControllerTransitioningDelegate protocol vends the objects used to manage a fixed-length or interactive transition between view controllers.

UIWebViewDelegate

The UIWebViewDelegate protocol defines methods that a delegate of a UIWebView object can optionally implement to intervene when web content is loaded.

Other Reference

NSAttributedString UIKit Additions Reference

NSBundle UIKit Additions Reference

NSIndexPath UIKit Additions

NSMutableAttributedString UIKit Additions Reference

NSObject UIKit Additions Reference

NSString UIKit Additions Reference

UIKit Function Reference

UIKit Constants Reference

UIKit Data Types Reference