You.i Engine
Screen Management

Detailed Description

Provides screen transition management support and the associated screen view controllers.

Being able to seamlessly and elegantly transition from one screen to another is a key feature of You.i Engine and a set of classes has been provided to support this:

Screen View Controller

The CYIAbstractScreenViewController class is provided to allow the application to:

Screen properties that are supported by this class include items such as the:

Screen transition properties can used to determine details about the transition including:

Actions overloadable by the application include:

The application can connect to screen transition signals notifying it that certain events have completed such as: loading and unloading the transition animation, screen preload validation success and failure, and the screen preload and unload events.

See the CYIAbstractScreenViewController class documentation for specifics on each item.

Activity Indicator View Controller

If there is loading or processing being done that will end up taking more time than the actual transition, an intermediate view may be displayed while one screen is transitioning to the next.

In order to support this, the application must:

An example of this would be a loading screen with a looping animation showing that the application is still running but some work is being done in the background.

Screen Transitioning

The CYIScreenTransition class performs animated transitions from one application screen to another. It can either be used directly or used through the CYIScreenTransitionManager.

The animations use the following After Effects marker names from the CYIActivityIndicatorView classes.

Screen Transition Manager

The CYIScreenTransitionManager stores a stack of screen view controllers to allow for forward and backward navigation between screens (including handling screen transitions) by using CYIScreenTransitionManager::PushScreen() and CYIScreenTransitionManager::PopScreen().

Each call to CYIScreenTransitionManager::PushScreen() and CYIScreenTransitionManager::PopScreen() initiates a screen transition. In the case of CYIScreenTransitionManager::PushScreen(), it is a transition to the pushed screen. In the case of CYIScreenTransitionManager::PopScreen(), it is a transition to the previous screen in the stack.

To listen for and respond to varous screen transition events, construct a class that implements CYIScreenTransitionManager::ScreenTransitionDelegate.

Classes

class  CYIAbstractScreenViewController
 The CYIAbstractScreenViewController serves as the base to create application screen view controllers. More...
 
class  CYIActivityIndicatorViewController
 A view controller that controls a CYIActivityIndicatorView. More...
 
class  CYIScreenProperty
 
class  CYIScreenTransition
 Performs animated transitions from one application screen to another. More...
 
class  CYIScreenTransitionManager
 Stores a stack of screen view controllers (referred to here for simplicity as "screens") to allow for forward and backward navigation between screens (including handling screen transitions) by using PushScreen() and PopScreen(). More...
 
class  CYIViewController
 The base class for a view controller, responsible for displaying a view. More...