JSQMessagesViewController用户添加图像
答
有几个peices你的问题。如果您可以提供您尝试过的任何方式,我们知道如何为您提供最好的帮助,这也会很有帮助。这样一个广泛的问题可以通过项目文档得到更全面的回答。另外一个很好的提示是检查项目的开发分支,因为它会有更新的swift
示例。
所以对于化身,你会想确保你为化身定义一个尺寸。这应该在视图的init或viewDidLoad
中调用。它应该沿着这些线看起来像
collectionView?.collectionViewLayout.incomingAvatarViewSize = CGSize(width: kJSQMessagesCollectionViewAvatarSizeDefault, height:kJSQMessagesCollectionViewAvatarSizeDefault)
这些是库提供的默认值,你也可以把你想要的大小。 然后有一个你应该覆盖的委托方法。
override func collectionView(_ collectionView: JSQMessagesCollectionView!, avatarImageDataForItemAt indexPath: IndexPath!) -> JSQMessageAvatarImageDataSource! {
这是您将在其中创建和管理将代表该特定消息的头像的图像。正如你所看到的,你需要返回一些与JSQMessagesAvatarImageDataSource
相匹配的东西,它不能是nil
,所以如果你没有该用户的图片,你将需要一个默认或BlankAvatar。
那么我会建议leaveraging的JSQAvatarImageFactory
JSQMessagesAvatarImageFactory.avatarImage(withUserInitials: "DL", backgroundColor: UIColor.blue, textColor: UIColor.white, font: UIFont.systemFont(ofSize: 14), diameter: UInt(kJSQMessagesCollectionViewAvatarSizeDefault))
请确保您更新取决于它是该消息的值。
我希望这可以帮助你让我知道,如果你有更多的问题,你可以提供更好的更多。
欢迎来到Stack Overflow。请阅读如何发布一个好问题或查看其他一些问题的指导原则。询问时需要包含更多细节。 – GJZ