Over on the QDAC blog there is a solution for keeping controls visible when the virtual keyboard is shown on Delphi XE8 Firemonkey. The code is not perfect and it has only been tested on Android and not IOS but it is an automated solution as you simply add the unit to the uses clause and it works. There are multiple other solutions which we’ve talked about before for Delphi XE5 but they require implementing code in each form. This new unit for Delphi XE8 implements three different steps which are: a subscription to TVKStateChangeMessage, a timer every 100ms to check for a state change of the keyboard, and calling an event if the keyboard state changes. The original blog post is in Chinese so you’ll need to use a translator. This solution should also work with Appmethod.