Отправка пользовательского интерактивного макета в расширении iMessageIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Отправка пользовательского интерактивного макета в расширении iMessage

Сообщение Anonymous »

Я интегрирую приложение 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»