Я интегрирую приложение iMessage, в котором у меня есть аудио, которое я хочу отправить в виде сообщения. Но мое требование — отправить собственный макет с кнопкой воспроизведения, и, нажав на него, я могу воспроизвести/приостановить звук. Кроме того, при нажатии на отправленное сообщение стиль представления представления меняется на расширенный, хотя я не хочу, чтобы какие-либо изменения презентации были изменены. Я просто хочу нажать на сообщение, чтобы воспроизвести звук, и ничего больше.
недавно я попытался создать собственный макет, а затем, сделав снимок экрана, отправил его как изображение, но проблема в том, что я не могу сделайте этот вид интерактивным. Я могу воспроизводить звук при нажатии сообщения, но я также хочу обновить макет выбранного сообщения.
вот код, который мне нужен для отправки сообщения:
func sendCustomViewMessage(url:URL) {
let customView = MessageView(frame: CGRect(x: 0, y: 0, width: 150, height: 50))
customView.audioURL = url
let customViewImage = imageFromView(view: customView) // Convert custom view to UIImage
let layout = MSMessageTemplateLayout()
layout.image = customViewImage // Set the image of the message layout
layout.mediaFileURL = url
let message = MSMessage()
message.layout = layout
message.url = url
self.activeConversation?.insert(message, completionHandler: nil)
}
& these functions to update layout but its not working:
override func willSelect(_ message: MSMessage, conversation: MSConversation) {
super.willSelect(message, conversation: conversation)
if let selectedMessage = conversation.selectedMessage {
updateMessageLayout(selectedMessage)
}
}
func updateMessageLayout(_ message: MSMessage) {
guard let layout = message.layout as? MSMessageTemplateLayout else {
return
}
// Update the layout as needed
layout.caption = "Updated Caption"
// Update the message with the new layout
message.layout = layout
reloadInputViews()
// Inform the extension to update the conversation display
requestPresentationStyle(.expanded)
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... -extension
Отправка пользовательского интерактивного макета в расширении iMessage ⇐ IOS
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение