Apple’s UIKit framework provides iOS developers with a grab-bag of popular components they can utilize to make their apps more appealing to users. UIKit components not only offer familiarity, but also basic functionality that can simplify your app and make the program more enjoyable to use, in turn making it more likely to stick around on users’ devices after its initial installation.
Let’s take a look at some of the most popular and useful components found in the UIKit framework.
Developers use views to present the content of an app to its users. Each view you include in your program should represent different parts of the user interface. Apple’s developer site describes views as “building blocks” used to construct an app’s interface by displaying intent, managing the layout of subviews, and handling multi-touch events.
When programmed, your views will interact with one another according to their places in the view hierarchy. At the top of that hierarchy are views, which when accessed, can lead to a series of subviews, forming paths within the app that can simplify navigation.
Here are some of the major views from which you’ll have to choose when developing an app for iOS:
Action sheets are sets of buttons that represent alternative actions with which a user can complete a task. Action sheets typically offer choices to a user immediately following the initiation of a task.
Well-known examples of action sheets are sharing and confirm/cancel options.
An activity indicator displays on a device’s screen as a spinning wheel that lets the user know the app is processing an action, and hasn’t stalled or frozen.
Alert views pop up within your app in order to notify users of important information (e.g., push notifications) and include options that allow users to take actions related to the alerts.
Collection views display objects in customizable collections, often grids. These views can be sorted into multiple sections, and allow users to edit, group, and regroup objects. Collection views are typically used to house nonhierarchical objects.
These views display images, or animated sequences of images, on devices’ screens. Many file types can be shown in these views, including JPEGs and PNGs.
A label displays text that explains the purpose of a control or provides instructions to the user.
These bars organize the app’s content, and present it to users in simple ways. Navigation bars appear at the top of a device’s screen, and usually include back buttons, app titles, and popular action options like sharing, refreshing, and settings.
Picker views are scrollable wheels that let users choose between options like dates, times, cities, and game elements.
With these views, users are shown the progress of tasks being performed in the app, such as loading, downloading, or the sending of emails.
A scroll view allows a user to see content that is too large for his or her device’s screen. Images in these views are accompanied by at least one scroll bar, which can be placed on the sides or bottom of the screen.
Search bars are common items that allow users to seek out information inside or outside the app by entering keywords in the space provided, and then pushing a button to initiate the search.
Scope bars can be used in conjunction with search bars in order to allow for the refinement of searches.
These bars display icons horizontally along the bottom of a device’s screen in order to give users quick access to various views within the app.
A tab bar should give a user a good idea of the app’s layout, and provide him or her with choices of paths he or she can take while navigating the program.
Among the most common views, tables display objects in scrollable lists of rows which can be divided into sections. Objects included in table views are often hierarchical, meaning users can move from views to subviews (e.g., Contacts).
Table views allow for simple interaction with the app’s data, and the quick and simple replication of similar objects.
These views display text (often large amounts) like email bodies, and enable users to enter content into the app.
Tool bars display icons horizontally along the bottom of a device’s screen in order to allow users to perform actions that have been enabled within the app, like sharing or deletion.
Web views display HTML content on an app screen.
Controls are tools that enable a user to execute actions within the app. Controls allow for the navigation and manipulation of the program in ways that are both simple and familiar to iOS users.
Buttons enable users to take actions within an app by simply tapping a small designated portion of a device’s screen. You can choose between several changes in appearance to indicate the pressing of a button within the app, including adjustments to its color, text, and image.
Date pickers simplify the process of selecting the date and time within the app. Date pickers also provide interfaces for countdown timers, but the functionality of those features have to be implemented via other components.
Page controls display horizontal dots, one of which will be highlighted to indicate the page of the app the user is on at any given time. Page controls can exist in a program as a purely visible element, or can be programmed to navigate between pages via tapping.
If you decide against enabling navigation through page controls, the element should be used in conjunction with another scrolling option, such as swiping.
A segmented control is a bar that contains multiple buttons arranged horizontally in order to group together related controls for easy user access.
Text fields give users the ability to post a single line of text directly into the app. Text fields are typically used to gather information or to enable the entry of search subjects.
Consumers use sliders to make adjustments to the values and intensity of app elements. Sliders are commonly used to adjust volume, screen brightness, and numerical values. Users manipulate sliders with their fingers or stylists, moving an icon along a horizontal or vertical line anywhere from a minimum to a maximum point.
Instead of a slider, you can choose to let users adjust values using steppers, which require button taps to achieve small increases or decreases. Steppers allow users to make easy, exact adjustments to in-app values, while sliders are typically less precise.
Switches are used to choose between two options (e.g., on and off). Switchers are manipulated by swiping the “raised” portion of the on-screen graphic to one of two opposite sides.