1. 聊天气泡图片:

- 设置
UIImageView
的contentMode
为scaleToFill
- 拉伸图片2种方式
- 代码:
/*
UIEdgeInsetsMake(7, 4, 4, 14) :
图片的上7,左4,下4,右14的区域内可拉伸,其他区域均不可拉伸
*/
ivBg.image = image.resizableImage(withCapInsets: UIEdgeInsets(top: 7, left: 4, bottom: 4, right: 14), resizingMode: .stretch)
- 在Assets中:
点击slicing


设置4个边距


效果:


2. 时间的显示隐藏
///计算每条消息是否显示时间
fileprivate func computeVisibleTime(models: [MessageModel]) {
var lastTimeInterval: TimeInterval = 0
var visible = true
for (index, model) in models.enumerated() {
if 0 == index {
visible = true
lastTimeInterval = getTimeIntervalFromDateStr(model.msgTime)
} else {
let nowTimeInterval = getTimeIntervalFromDateStr(model.msgTime)
//相隔5分钟
if nowTimeInterval - lastTimeInterval > 5*60 {
visible = true
lastTimeInterval = nowTimeInterval
} else {
visible = false
}
}
model.msgTimeVisiable = visible
}
}
///秒s级
fileprivate func getTimeIntervalFromDateStr(_ dataStr: String) -> TimeInterval {
kDateFmt.dateFormat = "yyyy年MM月dd日 HH:mm:ss"
let date = kDateFmt.date(from: dataStr)
return date?.timeIntervalSince1970 ?? 0
}
网友评论