Ile*_*esh 6 iphone uitableview ios
我有消息屏幕并实现tableviewcell显示消息的自定义.消息应该是text或者在image某些情况下我需要显示包含信息的框(参见图像发送者和接收者).它工作正常,但有时消息视图被切断(见图像信息).我用了很多stackViews来隐藏和显示一些观点.
这种行为的可能原因是在单元格中设置视图的图层,我可以在您的单元格中看到,您正在将角半径添加到背景中。我可以使用以下方法在我的应用程序中修复它。
在单元格中定义一个可选的数据变量。
var currentData: MessageModel?
Run Code Online (Sandbox Code Playgroud)在您调用的方法中设置该值以向单元格提供数据。
func loadData(_ data:MessageModel) -> Void {
currentData = data
// YOUR EXISTING CODE GOES HERE.
// Move your code to the function which do the setup of corner radius.
// Call this method.
setupCornerRadius()
}
Run Code Online (Sandbox Code Playgroud)将以下方法添加到您的单元格中
open override func layoutIfNeeded() {
super.layoutIfNeeded()
setupCornerRadius()
}
open override func layoutSubviews() {
super.layoutSubviews()
setupCornerRadius()
}
func setupCornerRadius() {
if let data = currentData {
let strMsg = data.body ?? ""
lblMsgBody.text = strMsg
if strMsg != "" {
viewBG.backgroundColor = UIColor.primaryGreen
if strMsg.count > 5 {
viewBG.layer.cornerRadius = 18.0
}else{
viewBG.layer.cornerRadius = 12.0
}
}
else{
viewBG.backgroundColor = UIColor.clear
}
}
}
Run Code Online (Sandbox Code Playgroud)尝试一下上面的方法。
除此之外,我还从单元格中删除了 stackView,并通过设置约束来实现所需的 UI。
使用 numberOfLines = 0 进行标签并设置前导、尾随、底部和顶部约束。value = 8(您可以根据需要的边距和间距进行设置。)
尝试并分享结果。
| 归档时间: |
|
| 查看次数: |
196 次 |
| 最近记录: |