4D for Mobile Tutorial – Choose an Input Control

Formatters allow you to format the displayed data or to define behavior when the user touches the data. The input controls follow the same principle. They allow you to select the type of keyboard, define the behavior, or format the data in an action form.

For example, for image data, you have by default two types of control, the first one allows you to select an image or to take a picture, and the second one displays a zone to sign.

There are 3 types of input controls:

Embedded input control

Depending on the type of data, different widgets are proposed. For example, for the image format, you have two input controls, either to take a picture, select an image in the gallery, or display an area to sign.

In this video, we will show you several input controls, some allowing you to configure the keyboard and others to read a barcode or to sign.

Input control with code (Swift or Kotlin)

You can easily interact with native apps by using custom input controls. To do so, you can create your own input controls with native code or download a few input controls from our gallery, depending on what you need for your app.

This video shows you how to get a phone number and email from your mobile contact list. And also to get the GPS coordinates and address automatically.

Input control based on the choice list

For some data, you want the user to choose a value from a list, for example, to define the status of a task. For this, there are two types of choice lists:

  • Choice list using a manifest.json file and
  • choice list based on datasources.


This video shows you how to create lists with a JSON file to propose a list of images or texts. Then, two examples with lists based on data from the database.


Voilà! Now you know how to define an input control in your mobile application. To go further, you can continue with the blog or the documentation.

Vanessa Talbot
• Product Owner •Vanessa Talbot joined 4D Program team in June, 2014. As a Product Owner, she is in charge of writing the user stories then translating it to functional specifications. Her role is also to make sure that the feature implementation delivered is meeting the customer need.Since her arrival, she has worked to define key features in 4D. She has worked on most of preemptive multi-threading new features and also on a very complex subject: the new architecture for engined application. Vanessa has a degree from Telecom Saint-Etienne. She began her career at the Criminal Research Institute as a developer for the audiovisual department. She has also worked in media and medical fields as expert in technical support, production as well as documenting new features.