gpt4 book ai didi

Swift:带有 UITableViewCellStyle.Subtitle 的 UITableViewCell 中的多个detailTextLabel行

转载 作者:行者123 更新时间:2023-11-30 13:18:11 28 4
gpt4 key购买 nike

我有一个tableViewCell

let cell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "Cell")

具有以下设置:

    cell.textLabel?.font = UIFont.boldSystemFontOfSize(15.0)
cell.textLabel?.text = titleString

cell.detailTextLabel?.text = descriptionString
cell.detailTextLabel?.numberOfLines = 0

descriptionString 由 HTML 字符串组成。

我已经设置了

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}

func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}

然而,当detailTextLabel大于1行时,这会导致表格 View 显示困惑。 DetailTextLabel 包装到下一个表格 View 单元格上。

这个问题有什么解决办法吗? UITableViewAutomaticDimension 似乎没有按预期工作。

最佳答案

表格 View 单元格中的多行标签

首先定义

private let useAutosizingCells = true

override func viewDidLoad() {
super.viewDidLoad()

if useAutosizingCells && tableView.respondsToSelector(Selector("layoutMargins")) {
tableView.estimatedRowHeight = 88
tableView.rowHeight = UITableViewAutomaticDimension
}
}

//标记:- UITableViewDataSource

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return array.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath)


if useAutosizingCells && tableView.respondsToSelector(Selector("layoutMargins")) {
cell.textLabel?.numberOfLines = 0
cell.detailTextLabel?.numberOfLines = 0
}

return cell
}

关于Swift:带有 UITableViewCellStyle.Subtitle 的 UITableViewCell 中的多个detailTextLabel行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38029382/

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