Swift 更改TableView单元格中UILabel的前导和尾随约束(聊天气泡)

Swift 更改TableView单元格中UILabel的前导和尾随约束(聊天气泡),swift,xcode,uilabel,Swift,Xcode,Uilabel,我正在尝试重建一个TableView,它看起来应该像一个聊天室。“我的”聊天泡泡应该在右边,其他用户的聊天泡泡应该在左边 到目前为止,所有功能都可以自动调整大小,现在我正在尝试实现左/右气泡 以下是我的限制: 这是我尝试过的东西,但我在这里的感觉是完全错误的,显然代码不起作用: var isIncoming: Bool! { didSet { labelChatMessage.backgroundColor = isIncoming ? .systemBlue : .d

我正在尝试重建一个TableView,它看起来应该像一个聊天室。“我的”聊天泡泡应该在右边,其他用户的聊天泡泡应该在左边

到目前为止,所有功能都可以自动调整大小,现在我正在尝试实现左/右气泡

以下是我的限制:

这是我尝试过的东西,但我在这里的感觉是完全错误的,显然代码不起作用:

var isIncoming: Bool! {
    didSet {
        labelChatMessage.backgroundColor = isIncoming ? .systemBlue : .darkGray

        let leftConstraint = NSLayoutConstraint(
            item: labelChatMessage!,
                attribute: .leading,
                relatedBy: .greaterThanOrEqual,
                toItem: superview,
                attribute: .notAnAttribute,
                multiplier: 1.0,
                constant: 28
        )

        let rightConstraint = NSLayoutConstraint(
            item: labelChatMessage!,
                attribute: .trailing,
                relatedBy: .equal,
                toItem: superview,
                attribute: .notAnAttribute,
                multiplier: 1.0,
                constant: 8
        )

        if isIncoming {
        constraintMessageLeft.isActive = false
        constraintMessageRight.isActive = false
        leftConstraint.isActive = true
        rightConstraint.isActive = true
        }
    }
}

如何更改(交换值)现有情节提要约束?

为什么不创建两个单元格。一个用于输入,一个用于输出。为什么不创建两个单元格呢。一个用于输入,一个用于输出。