Я создаю часть пользовательского интерфейса моего приложения с помощью Swift, и проблема, с которой я сталкиваюсь, заключается в том, что у меня есть UIStackView
с тремя вложенными представлениями: 2 UILabels и UIImageView.Вот мой первый код
let switchview = UISwitch()
let nodelableview = UILabel()
nodelableview.textAlignment = NSTextAlignment.right
nodelableview.numberOfLines = 0
nodelableview.text = nodes[i].type + " " + nodes[i].node_name
let statLabel = UILabel()
statLabel.textAlignment = NSTextAlignment.left
statLabel.text = nodes[i].stat
let stack = UIStackView()
stack.axis = .horizontal
stack.spacing = 16
stack.addArrangedSubview(statLabel)
stack.addArrangedSubview(nodelableview)
stack.addArrangedSubview(switchview)
cell.nodesView.addArrangedSubview(stack)
, проблема с этим кодом состоит в том, что когда nodelabelview
имеет длинный текст, UIStackView не расширяется, чтобы освободить место для 2 или более строк.Поэтому я установил выравнивание на .center
, и вот результат ![enter image description here](https://i.stack.imgur.com/7BkVm.png)
Осталось пустое место, но первый UILabel
использует его даром.Как я могу заставить второй UILabel
использовать доступные пробелы?