【问题标题】:Editing MessageKit layout编辑 MessageKit 布局
【发布时间】:2020-05-15 17:28:59
【问题描述】:

这是我第一次使用 MessageKit。我正在尝试自定义视图,但找不到任何有用的信息,例如设置插图和更改背景颜色。

我想从标题栏下方开始视图并更改背景颜色和消息的背景颜色。

func backgroundColor(for message: MessageType, at indexPath: IndexPath, in messagesCollectionView: MessagesCollectionView) -> UIColor {
        return isFromCurrentSender(message: message) ? UIColor.myGold : UIColor.headingGold
    }

任何帮助将不胜感激。

【问题讨论】:

    标签: ios swift user-interface layout messagekit


    【解决方案1】:

    您必须在viewDidLayoutSubviews() 中为messagesCollectionView 设置contentInset 才能在标题栏下方开始查看

    self.messagesCollectionView.contentInset = UIEdgeInsets(top: title bar height, left: 0, bottom: 70, right: 0)
    

    要设置消息的背景颜色,您必须使用MessagesDisplayDelegate 方法和委托,dataSource 应该与视图控制器连接

    func backgroundColor(for message: MessageType, at indexPath: IndexPath, in messagesCollectionView: MessagesCollectionView) -> UIColor {
            return isFromCurrentSender(message: message) ? UIColor.blue : UIColor.gray
        }
    

    如需更多自定义,您必须查看MessageKit Repo 中的MessageKit 示例

    【讨论】:

    • 布局正常,但使用此功能不会改变消息背景颜色
    • messagesCollectionView.messagesDisplayDelegate = self 将此行添加到您的viewDidLoad() 并检查
    • 已添加。有没有这方面的教程,因为我是初学者,无法从示例项目中理解。
    • 对不起,我不知道教程是否可用,消息背景颜色是否有效?
    • 请在您的问题中添加您的代码以获取消息背景颜色
    猜你喜欢
    • 1970-01-01
    • 2017-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    相关资源
    最近更新 更多