为什么不能显示灰色气泡图像?

Why can't the gray bubble image be shown?

我正在与 Swift 进行聊天 iOS 应用。在ChatLogController中,我在聊天中添加了两个气泡图screen.The显示蓝色气泡图像,但无法显示灰色气泡。我确定我已经在 xcassets 文件中添加了两个图像。

static let grayBubbleImage = UIImage(named:"bubble_gray")!.resizableImageWithCapInsets(UIEdgeInsetsMake(22,26,22,26)).imageWithRenderingMode(.AlwaysTemplate)
static let blueBubbleImage = UIImage(named:"bubble_blue")!.resizableImageWithCapInsets(UIEdgeInsetsMake(22,26,22,26)).imageWithRenderingMode(.AlwaysTemplate)

let bubbleImageView:UIImageView =
{
    let imageView = UIImageView()
    imageView.image = ChatLogMessageCell.grayBubbleImage
    imageView.tintColor = UIColor(white: 0.90, alpha: 1)
    return imageView
}()
 if message.isSender!.boolValue
    {
        cell.messageTextView.frame = CGRectMake(48 + 8, 0, estimatedFrame.width + 16, estimatedFrame.height + 20)
        cell.textBubbleView.frame = CGRectMake(48 - 10, -4, estimatedFrame.width + 16 + 8 + 16, estimatedFrame.height + 20 + 6)
        cell.profileImageView.hidden = false
       // cell.textBubbleView.backgroundColor = UIColor(white: 0.95, alpha: 1)
        cell.bubbleImageView.image = ChatLogMessageCell.grayBubbleImage
        cell.bubbleImageView.tintColor = UIColor(white: 0.95, alpha: 1)
        cell.messageTextView.textColor = UIColor.blackColor()

}

else
    {
        cell.messageTextView.frame = CGRectMake(view.frame.width - estimatedFrame.width - 16 - 16,0, estimatedFrame.width + 16, estimatedFrame.height+20)
        cell.textBubbleView.frame = CGRectMake(view.frame.width - estimatedFrame.width - 16 - 16 - 8, 0, estimatedFrame.width + 16 + 8, estimatedFrame.height+20)
        cell.profileImageView.hidden = true
       // cell.textBubbleView.backgroundColor = UIColor(red: 0, green: 137/255, blue: 249/255, alpha: 1)
        cell.bubbleImageView.image = ChatLogMessageCell.blueBubbleImage
        cell.bubbleImageView.tintColor = UIColor(red: 0, green: 137/255, blue: 249/255, alpha: 1)
        cell.messageTextView.textColor = UIColor.whiteColor()
        }

谢谢。

您使用的图像渲染模式是 always template,因此如果您的图像是 png,然后您设置了 imageview 的色调颜色,那么它会更改该 png 图像的颜色。因此,我认为您正在为该图像视图提供灰色调颜色,以便图像变为灰色,如果该图像视图的背景颜色为灰色,则您无法区分它们。

希望这会有所帮助:)