Each head unit manufacturer supports a set of user interface templates. These templates determine the position and size of the text, images, and buttons on the screen. Once the app has connected successfully with an SDL enabled head unit, a list of supported templates is available on SDLManager.systemCapabilityManager.defaultMainWindowCapability.templatesAvailable.
To change a template at any time, send a SetDisplayLayout RPC to Core.
SDLSetDisplayLayout* display = [[SDLSetDisplayLayout alloc] initWithPredefinedLayout:SDLPredefinedLayoutGraphicWithText]; [self.sdlManager sendRequest:display withResponseHandler:^(SDLRPCRequest *request, SDLRPCResponse *response, NSError *error) { if (!response.success.boolValue) { // Print out the error if there is one and return early return; } // The template has been set successfully }];
let display = SDLSetDisplayLayout(predefinedLayout: .graphicWithText) sdlManager.send(request: display) { (request, response, error) in guard response?.success.boolValue == true else { return } // The template has been set successfully }
There are fifteen standard templates to choose from, however some head units may only support a subset of these templates. The following examples show how templates will appear on the Generic HMI and Ford's SYNC 3 HMI.















