作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想创建一个聊天,当我点击消息气泡时,它会说出 JSQMessage 的文本部分
我使用的代码如下:
public func collectionView(collectionView: JSQMessagesCollectionView, didTapMessageBubbleAtIndexPath indexPath: NSIndexPath) {
let speechUtterance = AVSpeechUtterance(string: messages[indexPath.item].text)
speechSynthesizer.speak(speechUtterance)
}
我面临的问题是当我点击气泡时该函数没有被调用。
最佳答案
试试这个,
let synth = AVSpeechSynthesizer()
var myUtterance = AVSpeechUtterance(string: "")
public func collectionView(collectionView: JSQMessagesCollectionView, didTapMessageBubbleAtIndexPath indexPath: NSIndexPath) {
// Make sure you are actually getting the text in messages[indexPath.item].text
myUtterance = AVSpeechUtterance(string: messages[indexPath.item].text)
myUtterance.rate = 0.3
synth.speakUtterance(myUtterance)
}
现在,对于您的问题,请检查您是否在编写 cellForItemAtIndexPath
。这将阻止 didTapMessageBubbleAtIndexPath
调用。
关于ios - 如何使用 JSQMessageViewController 的 didTapMessageBubbleAtIndexPath 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44132598/
我想创建一个聊天,当我点击消息气泡时,它会说出 JSQMessage 的文本部分 我使用的代码如下: public func collectionView(collectionView: JSQMes
我是一名优秀的程序员,十分优秀!