1

我正在用 Swift 做一个聊天 iOS 应用程序。在ChatLogController中,我在聊天画面中添加了两个气泡图。蓝色的气泡图显示了,而灰色的气泡图无法显示。我确定我已将两个图像添加到 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()
        }

谢谢。

模拟器图像

4

1 回答 1

1

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

希望这会有所帮助:)

于 2016-05-10T04:42:30.150 回答