我一直在试图弄清楚如何插入处理程序以在用户点击消息气泡时采取行动。我在自述文件中找到了关于“自定义您的单元格”的部分,并尝试了几种不同的方法,但到目前为止还没有运气。这是我尝试过的:
实施的:
- (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
方法是正确的方法?
任何建议表示赞赏。