3

我一直在试图弄清楚如何插入处理程序以在用户点击消息气泡时采取行动。我在自述文件中找到了关于“自定义您的单元格”的部分,并尝试了几种不同的方法,但到目前为止还没有运气。这是我尝试过的:

实施的:

- (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方法是正确的方法?

任何建议表示赞赏。

4

1 回答 1

2

好的,我明白了。我尝试插入自己的代表实际上是在破坏事情(除了没有完成我试图做的事情)。一旦我删除了我的“cellForItemAtIndexPath”方法,我的“didTapMessageBubbleAtIndexPath”就开始触发了。

于 2015-09-06T18:03:01.507 回答