gpt4 book ai didi

ios - 如何截断 UITableView Cell TextLabel 中的文本,使其不隐藏 DetailTextLabel?

转载 作者:可可西里 更新时间:2023-11-01 04:43:56 32 4
gpt4 key购买 nike

我有一个电话费率列表,textLabel 是国家/地区,detailTextLabel 是我必须显示的费率。

对于某些字符串,textLabel 太长,detailTextLabel 被隐藏。如果文本太长,是否有自动调整 ... 文本的设置?

这是一个例子,中非共和国(移动) 有这个问题:

example

最佳答案

在布置具有 UITableViewCellStyle.Value1 样式的单元格时,标题标签似乎获得优先权并将详细信息标签推出 View 。解决方案可能是继承 UITableViewCell 并覆盖其 layoutSubviews():

    override func layoutSubviews() {
super.layoutSubviews()

if let detail = self.detailTextLabel {
// this will do the actual layout of the detail
// label's text, so you can get its width
detail.sizeToFit()

// you might want to find a clever way to calculate this
// instead of assigning a literal
let rightMargin: CGFloat = 16

// adjust the detail's frame
let detailWidth = rightMargin + detail.frame.size.width
detail.frame.origin.x = self.frame.size.width - detailWidth
detail.frame.size.width = detailWidth
detail.textAlignment = .Left

// now truncate the title label
if let text = self.textLabel {
if text.frame.origin.x + text.frame.size.width > self.frame.width - detailWidth {
text.frame.size.width = self.frame.width - detailWidth - text.frame.origin.x
}
}
}
}

请注意,虽然 detail.textAlignment = .Left 我们考虑了细节的宽度,但实际文本最终向右对齐。

关于ios - 如何截断 UITableView Cell TextLabel 中的文本,使其不隐藏 DetailTextLabel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25308465/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com