---
title: "iOS : UIKit Framework"  
description: "Previously we learn to iterate over a collection using fast enumeration : Objective-C : Fast enumeration  While the Foundation framework defines class"  
author: "Anonymous User"  
published: 2015-07-20  
updated: 2018-03-13  
canonical: https://www.mindstick.com/blog/10929/ios-uikit-framework  
category: "iphone"  
tags: ["iphone", "ios", "objective c"]  
reading_time: 2 minutes  

---

# iOS : UIKit Framework

Previously we learn to iterate over a collection using fast enumeration : Objective-C : Fast enumeration

\
While the Foundation framework defines classes, protocols, and functions for both iOS and OS X development, the UIKit framework is exclusively geared towards [iOS development](https://www.mindstick.com/articles/334686/introduction-to-ios-development-getting-started-with-swift). It's the equivalent of the Application Kit or AppKit framework for OS X development.

\
Like Foundation, UIKit defines classes, protocols, functions, data types, and constants. It also adds additional functionality to various Foundation classes, such as NSObject, NSString, and NSValue through the use of Objective-C categories.

\
The UIKit framework provides the window and view architecture needed to manage an app’s [user interface](https://www.mindstick.com/interview/22909/user-interface-objects-in-cocoa), the [event handling](https://www.mindstick.com/articles/12724/event-handling-in-android) infrastructure needed to respond to [user input](https://www.mindstick.com/forum/159624/setting-an-enum-from-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](https://www.mindstick.com/forum/33636/how-to-push-a-view-controller-to-another-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;

· Graphics and windowing support, including support for external displays;

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

· Printing support;

· Support for customizing the appearance of standard UIKit controls

· Support for text and [web content](https://www.mindstick.com/blog/303211/explore-the-web-content-accessibility-guidelines-wcag-2-1)

· 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](https://www.mindstick.com/forum/23082/windows-phone-7-push-notification-when-the-app-is-not-running) service;

· Local notification scheduling and delivery;

· PDF creation

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

· Support for [creating custom](https://www.mindstick.com/interview/34070/creating-custom-annotations-in-java) 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](https://answers.mindstick.com/blog/353/building-your-first-ai-chatbot-using-ollama-and-python) 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](https://answers.mindstick.com/qa/108708/what-are-quick-solutions-for-a-tv-with-a-remote-control-delay) information from attached headsets

---

Original Source: https://www.mindstick.com/blog/10929/ios-uikit-framework

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
