我设计了一个iMessage扩展应用程序,其中的初始/第一个视图具有一个“输入”按钮,当我们单击“输入”时,它将打开另一个具有一个“发送”按钮的第二个视图。单击“发送”时,我想使用MSMessage发送消息。我按下“发送”时的代码是:
let layout = MSMessageTemplateLayout()
layout.image = UIImage(named: "demo.png")!
layout.caption = "I am sending you this image"
let message = MSMessage()
message.layout = layout
activeConversation.insert(message, correctionHandler:nil)
但是,当我单击“发送”时,不会执行任何操作。当我将相同的代码粘贴到被按下的“输入”按钮中时,它可以正常工作。有没有办法即使从第二个视图(即在我按下“发送”按钮的情况下)也可以使此代码起作用?
答案 0 :(得分:0)
您需要在某个地方致电MSMessagesAppViewController.dismiss()
,以关闭扩展名并将焦点重新放置到消息提示框上。您引用的代码没有显示出来。
您所做的所有其他事情看起来都很好,只是缺少最后一步。
在我的应用程序中,所有其他VC都有一个指向原始MSMessagesAppViewController
实例的属性,因此它们可以调用sendMessage
函数。