我有一个数组。因为我有类似的数据
"multi": ["New York","Los Angeles", "California", "Huston"]
我想在UILabel
中显示上面的数组。
cell.dynamicLbl.text = array.joined(separator: "\n")
甚至尝试过以下操作
cell.dynamicLbl.text = array.joined(separator: ",")
但是,它仅显示数组的第一个索引。 甚至,我添加了标签属性以显示多行。
cell.dynamicLbl.lineBreakMode = .byWordWrapping
cell.dynamicLbl.numberOfLines = 0
我的总数组是如果我在控制台中打印
▿ 4 elements
- 0 : "New York"
- 1 : "Los Angeles"
- 2 : "California"
- 3 : "Huston"
我已经为标签设置了约束。 PFA。
然后使用高度常数作为约束条件,并计算文本的高度,并将该float值分配给约束常数。
@IBOutlet weak var optionsLblHeightConstraint: NSLayoutConstraint!
仍显示标签中数组的第一个数据。
有什么建议吗?
输出
答案 0 :(得分:0)
检查您的cell.label.numberOfLines
设置为0
,并且lineBreakimgMode
设置为.wordWrap
。
并将顶部和底部的单元格约束设置为contentView和heightForRow tableview func返回tableview.automaticDimension
答案 1 :(得分:0)
不要在单元格中为标签设置Height
,而应设置顶部,底部,前导和尾随锚。
您需要确保设置了自动布局标签,并且该标签在单元格内以topAnchor
和bottomAnchor
锚定。然后在ViewDidLoad
//this is to automatically manage the height of the label.
tableView.rowHeight = UITableViewAutomaticDimension
//give a approximate height for cell below
tableView.estimatedRowHeight = 300
答案 2 :(得分:0)
请勿设置pack_line_attributes [:id]
的高度限制。只需添加UILabel
,trailing
,leading
和top
约束。
无需计算高度。将bottom
中的lineNumber
设置为 0 。
在UILabel
内设置viewDidLoad
的以下属性。
UITableView
请检查该位置是否应该有任何高度计算,并且不要为此自动调整大小的单元格写tableView.estimatedRowHeight = 44.0
tableView.rowHeight = UITableViewAutomaticDimension
。
答案 3 :(得分:0)