1. iOS UI front-end.
The status-bar:
iOS displays a single character high strip
across the top of the screen at all times.
This strip is called the status-bar.
It displays iPhone status information such as
time, cellular (connection and signal-strength) and battery-level.
An app cannot write to the status-bar area of the screen.
It can only control screen-display below the status-bar.
The home-screen:
(A selector).
iOS provides a home-screen that is like a desktop.
It is used to display a set of icons representing applications.
Clicking an icon launches its associated app.
Hence, it acts as a selector.
(An operational-context anchor).
Within the context of any app,
there is a simple way to get back to the home-screen.
Multiple apps can be running at the same time.
The user can switch between running apps,
by returning to the home-screen and selecting a different app.
Hence, it acts as an operational-context anchor
that is needed to manage multiple simultaneously-running apps.
2. iOS app-UI architecture.
The lowest-level framework for developing an iOS app is UIKit.
The UIKit framework uses the model-view-controller paradigm
in the following way.
Window.
An iOS app is associated with a Window component in UIKit.
The Window is an OS UI component similar to a Frame in desktop-apps.
Since all iPhone apps run full-screen, the Window never needs to be resized or repositioned. Hence, the developer can ignore it.
ViewController.
A Window is always associated with a ViewController in UIKit.
The ViewController which is Ike a desktop-app Control.
It is like a packaged MVC style UI-component.
The developer defines an app-specific sub-class of ViewController.
The app initiallty interfaces with a user via the ViewController.
The ViewController is the front-end controller of an app's interface.
When an app loads, this ViewController becomes active.
It accepts user-input events and dispatches them for processing.
It accepts redraw request from the Window and dispatches them.
It controls the loading and unloading of other Views and ViewControllers into the Window, and gives them ability to issue Window redraw requests.
ViewController Library..
UIKit provides a large library of Apple-designed ViewControllers
for commonly used UI-functions
such as selection, navigation and information-display.
App-UI design.
The developer designs a front-end ViewController, associates it with a Window, then connects other Views and ViewControllers to the front-end ViewController to add more depth to the app-UI.