JSQmessageviewcontroller:没有尾巴的气泡

Pat*_*zke 3 objective-c ios jsqmessagesviewcontroller

我正在使用JSQmessageviewcontroller,但我希望气泡没有尾部,只是圆角矩形,这可能吗?我目前做的事情如下:

JSQMessagesBubbleImageFactory *bubbleFactory = [[JSQMessagesBubbleImageFactory alloc] init];
self.outgoingMessageBubble = [bubbleFactory incomingMessagesBubbleImageWithColor:[UIColor colorWithRed:0.949 green:0.949 blue:0.949 alpha:1]];
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像:

在此输入图像描述

还有办法调整两个泡沫之间的距离吗?

Dan*_*ard 5

你想要做的是将无尾图像传递到你的JSQMessagesBubbleImageFactory中

目标C:

JSQMessagesBubbleImageFactory *bubbleFactoryOutline = [[JSQMessagesBubbleImageFactory alloc] initWithBubbleImage:[UIImage jsq_bubbleRegularStrokedImage] capInsets:UIEdgeInsetsZero];
Run Code Online (Sandbox Code Playgroud)

迅速:

JSQMessagesBubbleImageFactory(bubbleImage: UIImage.jsq_bubbleCompactTaillessImage(), capInsets: UIEdgeInsetsZero). 
Run Code Online (Sandbox Code Playgroud)

至于消息之间的距离你只需要改变上标签目标C的高度:

(CGFloat)collectionView:(JSQMessagesCollectionView *)collectionView
               layout:(JSQMessagesCollectionViewFlowLayout *)collectionViewLayout heightForMessageBubbleTopLabelAtIndexPath:(NSIndexPath *)indexPath
{
    return 0.0f;
}
Run Code Online (Sandbox Code Playgroud)

迅速:

override func collectionView(collectionView: JSQMessagesCollectionView!, layout collectionViewLayout: JSQMessagesCollectionViewFlowLayout!, heightForMessageBubbleTopLabelAtIndexPath indexPath: NSIndexPath!) -> CGFloat {
    return 20
}
Run Code Online (Sandbox Code Playgroud)

斯威夫特3:

JSQMessagesBubbleImageFactory(bubble: UIImage.jsq_bubbleCompactTailless(), capInsets: .zero)
Run Code Online (Sandbox Code Playgroud)