当用户点击消息气泡时,我一直试图弄清楚如何插入处理程序以采取行动。我在自述文件中找到了关于"定制您的细胞的部分"并尝试了几种不同的方法,但到目前为止还没有运气。以下是我尝试过的内容:
已实施:
- (void)collectionView:(JSQMessagesCollectionView *)collectionView didTapMessageBubbleAtIndexPath:(NSIndexPath *)indexPath
在我的viewController
中:
override func collectionView(collectionView: JSQMessagesCollectionView, didTapMessageBubbleAtIndexPath indexPath: NSIndexPath!) {
super.collectionView(collectionView, didTapMessageBubbleAtIndexPath: indexPath)
println("They tapped!")
}
然而,由于某种原因,这根本不会被调用。
我尝试过的另一件事就是实施:
- (UICollectionViewCell *)collectionView:(JSQMessagesCollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
在我的视图控制器中:
override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = super.collectionView(collectionView, cellForItemAtIndexPath: indexPath) as! JSQMessagesCollectionViewCell
let myDelegate = MyJSQMessagesCollectionViewCellDelegate(origDelegate: cell.delegate!)
cell.delegate = myDelegate
return cell;
}
这会被调用,但我的代理中的方法不会被调用。
那么,有关如何正确获取JSQMessagesCollectionViewCellDelegate
以便调用它的任何建议?或者我最初尝试以适当的方式覆盖didTapMessageBubbleAtIndexPath
方法?
任何建议都表示赞赏。
答案 0 :(得分:2)