ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / Developing for iOS (iPhone / iPad)
  • Overview
  • Create an iOS widget window
  • Characteristics of an iOS widget window
  • Size of a widget window
  • Update the content
  • Redisplaying the widget window
  • Widget image and description
  • Programming an iOS widget window
  • Opening a widget window
  • Closing a widget window
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Overview
An iOS application with an iOS widget configuration can contain one or more iOS 14 widget windows. These windows can be displayed on a tablet or phone's home screen.
The information displayed in these windows is updated on a regular basis.

Create an iOS widget window

To create an iOS widget window in an iOS widget configuration:
  1. Click in the quick access buttons:
    • The new element window appears: click "Window" then "Window".
    • The window creation wizard starts.
  2. In the "Standard" tab, in the "Other platforms" area, select "Blank for widget" and validate.
  3. A new window is created in the editor. Only two types of controls are available in iOS 14 widget windows: Static controls and Image controls.
Remark: You can also change the type of an existing window:
  1. Open the window description (select "Description" in the context menu).
  2. In the "UI" tab, select "Widget (Android/iOS14+)".
  3. Validate.
Characteristics of an iOS widget window

Size of a widget window

The size of a widget window is defined by the number of cells it occupies horizontally and vertically. This size can be configured in the "UI" tab of the description window:
On iOS, there are several standard sizes:
  • Small.
  • Medium.
  • Large.
  • iOS 16 only: Square/Rectangular for lock screen.
    These options allow you to create Lock Screen widgets: these widgets are visible on the screen, even if the device is locked.
  • iOS 15: Extra large.
You can choose other sizes.
Remark: Widgets created with WINDEV Mobile cannot be resized.
Widgets can have one or more sizes (e.g. "Small" and "Medium").
To create the same widget in different sizes in WINDEV Mobile, you must:
  • Create an "iOS 14 widget" window for each desired size. Each window has a different name.
  • Set the same title for each window. This title will be used to group the different sizes of the widget.

Update the content

Widget windows include a specific event: Refresh the widget. This event refreshes the widget content. This event is executed at regular time intervals. The refresh frequency is defined in the "UI" tab of the description window.
Remarks:
  • This refresh frequency cannot be less than 30 minutes.
  • WidgetDisplay redisplays the widget and runs the "Refresh widget" event.

Redisplaying the widget window

A widget window is displayed by the process that manages the device's home screen. The widget window is not constantly refreshed. It is refreshed in the following cases:
  • When an instance of the widget is added to the home screen.
  • When a button or image of the widget is tapped.
  • When the content of the widget is updated.
Remark: WidgetDisplay redisplays the widget and runs the "Refresh widget" event.

Widget image and description

When installing a widget on the desktop, users can see the list of widgets on their computers. For each widget, the list shows:
  • the name of the widget,
  • its description,
  • the preview image (for each available size).
The name of the widget corresponds to the title of the window. If several windows of different sizes have the same title, they will be suggested for the different sizes of the widget.
The widget can be described in the "UI" tab of the window description.
This description can be in multiple languages. If there are multiple windows for one widget, the description of the smallest window is used.
The widget preview image is generated automatically.
Remark: If an image is specified in the "UI" tab of the description window, it will not be taken into account.
Programming an iOS widget window

Opening a widget window

You cannot directly open a widget window. The opening functions (OpenSister, OpenChild, Use) will trigger a fatal error if they are used in widget mode.
Widget windows open automatically in the following cases:
  • When the first instance of the widget that corresponds to the window is added to the home screen.
  • After starting the device if at least one instance of the widget is present on the home screen.
  • When the widget is refreshed or when the user interacts with the widget (tap a button, for example).
  • If the process was stopped by the system (if it needs resources, for example).
The following events are executed when a widget window is open:
  • "Global declarations" of the window.
  • "Initialization" event of the controls.
  • "Initialization" event of the window.
  • "End of initialization" event of the window.
  • "Refresh widget".
The "Initialization" event of the project will only be executed before the first widget window of the application is opened. To differentiate the widget-specific code from the application-specific code in this event, use InWidgetMode.

Closing a widget window

You cannot directly close a widget window. Close will trigger a fatal error if it is used in widget mode.
Widget windows are automatically closed when the last instance of the widget is removed from the home screen. The "Close" event of the window is executed when a widget window is closed.
The "Close" event of the project will be executed when the last instance of an application widget is removed from the home screen and there are no more instances of other widgets displayed.
Minimum version required
  • Version 26
Comments
Click [Add] to post a comment

Last update: 06/13/2023

Send a report | Local help