Skip to content

voltmx.todayExtension Namespace

The voltmx.todayExtension Namespace provides support for the iOS Today extension, which is a type of iOS app extension.

The Today extensions in Today view are called widgets. Widgets give users quick access to information that is important at the current moment. For example, users open the Today view to check items such as current stock prices or that day's weather forecast. For more information on Today extensions and how you can use them, refer the relevant Apple developer documentation.

You can add a Today extension to your app in the same way that you add any other type of iOS app extension. For more information on how to add iOS app extensions, refer App Extension API for iOS.

Before your app can use the Today extension, your app must set the callback functions that provide the Today extension with its functionality. The app does this by invoking the voltmx.todayExtension.setExtensionsCallbacks function.

The voltmx.todayExtension Namespace contains the following API elements.

Properties

The voltmx.todayExtension Namespace contains the following property.

voltmx.todayExtension.view


Stores the current extension view.

Syntax


voltmx.todayExtension.view;

Example


//Sample code  
var myView = voltmx.todayExtension.view;
myView.addSubView(button);

Type

UIView

Read/Write

Read only

Platform Availability

  • iOS

Functions

The voltmx.todayExtension Namespace contains the following function.

voltmx.todayExtension.setExtensionsCallbacks


Sets a Today extension with callbacks for app extension state changes.

Syntax


voltmx.todayExtension.setExtensionsCallbacks(  
    callbackEvents);

Input Parameters

callbackEvents

Contains an object with key-value pairs where the key specifies the extension state and the value is a callback function. The possible keys of this parameter are as follows.

Key Description
loadView Loads a view that the controller manages.
viewDidLoad The view's controller was loaded into the memory.
viewDidAppear A view was just displayed.
viewWillAppear A view is about to be displayed.
viewDidDisappear A view was just removed from the view hierarchy.
viewWillDisappear A view is about to be removed from the view hierarchy.
widgetPerformUpdate The system calls this key at opportune times for the widget to update its state; both when the Notification Center is visible as well as when the Notification Center is in the background.
widgetActiveDisplayModeDidChangeWithMaximumSize Called when the active display mode changes. It has the following arguments: displayMode. It can take two values: NCWidgetDisplayModeCompact and NCWidgetDisplayModeExpanded. NSValue. It contains one value: CGSizeValue.

Example

//Sample Code 
function loadViewSample() {
    //native bindings code
}

function viewDidLoadSample() {
    //native bindings code
}

function viewWillAppearSample() {
    //native bindings code
}

function viewDidAppearSample() {
    //native bindings code
}

function viewWillDisappearSample() {
    //native bindings code
}

function viewDidDisappearSample() {
    //native bindings code
}

function widgetPerformUpdateSample() {
    //native bindings code
    return NCUpdateResult;
}

function widgetActiveDisplayModeDidChangeWithMaximumSizeSample(var vardisplayMode,
    var maxsize) {
    var preferredContentSize;
    if (activeDisplayMode == NCWidgetDisplayModeCompact) {
        preferredContentSize = {
            width: maxsize.CGSizeValue.width,
            height: 300
        };
    } else {
        preferredContentSize = {
            width: maxsize.CGSizeValue.width,
            height: 800
        };
    }
    return preferredContentSize;
}
//Setting Extensions Callbacks: Example 1voltmx. todayExtension.setExtensionsCallbacks(
{
    "loadView": loadViewSample,
    "viewDidLoad": viewDidLoadSample,
    "viewWillAppear": viewWillAppearSample,
    "viewDidAppear": viewDidAppearSample,
    "viewWillDisappear": viewWillDisappearSample,
    "viewDidDisappear": viewDidDisappearSample,
    "widgetPerformUpdate": widgetPerformUpdateSample,
    "widgetActiveDisplayModeDidChangeWithMaximumSize": widgetActiveDisplayModeDidChangeWithMaximumSizeSample
}); //Setting Extensions Callbacks: Example 2var callbackEvents={
viewDidLoad: function() {
    var myView = voltmx.todayExtension.view;
    myView.addSubView(button);
}
};
voltmx.todayExtension.setExtensionsCallbacks(callbackEvents);
//end of code

Return Values

None

Platform Availability

  • iOS