无法在UILabel中显示数组数据的新行

时间:2018-09-24 07:29:10

标签: ios arrays swift uilabel multiline

我有一个数组。因为我有类似的数据

"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!

仍显示标签中数组的第一个数据。

有什么建议吗?

jquery autocomplete

输出

enter image description here

4 个答案:

答案 0 :(得分:0)

检查您的cell.label.numberOfLines设置为0,并且lineBreakimgMode设置为.wordWrap

并将顶部和底部的单元格约束设置为contentView和heightForRow tableview func返回tableview.automaticDimension

答案 1 :(得分:0)

不要在单元格中为标签设置Height,而应设置顶部,底部,前导和尾随锚。

您需要确保设置了自动布局标签,并且该标签在单元格内以topAnchorbottomAnchor锚定。然后在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]的高度限制。只需添加UILabeltrailingleadingtop约束。

无需计算高度。将bottom中的lineNumber设置为 0

UILabel内设置viewDidLoad的以下属性。

UITableView

请检查该位置是否应该有任何高度计算,并且不要为此自动调整大小的单元格写tableView.estimatedRowHeight = 44.0 tableView.rowHeight = UITableViewAutomaticDimension

答案 3 :(得分:0)

最后我找到了答案,这是矛盾关系的问题。 之前它就像“平等”关系。 更改为“大于或等于”后,该问题得以解决。

希望这会对以后的人有所帮助。

enter image description here