---
title: MSMessageTemplateLayout
framework: messages
role: symbol
role_heading: Class
path: messages/msmessagetemplatelayout
---

# MSMessageTemplateLayout

A template-based layout for custom messages.

## Declaration

```swift
class MSMessageTemplateLayout
```

## Overview

Overview The MSMessageTemplateLayout describes how an MSMessage object is presented in the transcript. The message template includes the Message extension’s icon, an image, video, or audio file, and a number of text elements (title, subtitle, caption, subcaption, trailing caption, and trailing subcaption). These elements are laid out as shown in Figure 1.

To use the template: Instantiate a new MSMessageTemplateLayout object. Assign values to the properties representing the desired visual elements. You can leave unwanted elements set to nil. The system sizes the message balloon to fit the provided content. Assign the MSMessageTemplateLayout object to the MSMessage object’s layout property. Do not subclass the MSMessageTemplateLayout class.

## Topics

### Assigning Visual Elements

- [image](messages/msmessagetemplatelayout/image.md)
- [mediaFileURL](messages/msmessagetemplatelayout/mediafileurl.md)
- [imageTitle](messages/msmessagetemplatelayout/imagetitle.md)
- [imageSubtitle](messages/msmessagetemplatelayout/imagesubtitle.md)
- [caption](messages/msmessagetemplatelayout/caption.md)
- [subcaption](messages/msmessagetemplatelayout/subcaption.md)
- [trailingCaption](messages/msmessagetemplatelayout/trailingcaption.md)
- [trailingSubcaption](messages/msmessagetemplatelayout/trailingsubcaption.md)

## Relationships

### Inherits From

- [MSMessageLayout](messages/msmessagelayout.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Interactive messages

- [MSMessage](messages/msmessage.md)
- [MSSession](messages/mssession.md)
- [MSMessageLayout](messages/msmessagelayout.md)
- [MSMessageLiveLayout](messages/msmessagelivelayout.md)
