Как динамически вставить UIButtons динамического размера в UIStackView?
Это работает отлично:
let label = UILabel()
label.text = VARIABLE_LENGTH_STRING
stackView?.addArrangedSubview(label)
но это не работает
let button = UIButton()
button.setTitle(VARIABLE_LENGTH_STRING, for: .normal)
stackView?.addArrangedSubview(button)
Ничего не отображается! есть идеи почему? Я ожидаю, что ярлыки будут вести себя довольно одинаково с кнопками...
Спасибо за вашу помощь!
3 ответа
Проблема в том, что по умолчанию - новый UIButton() имеет белый текст и белый фон --- grrrr!
я исправил это, выполнив:
button.setTitleColor(.blue, for: .normal)
Попробуйте добавить строку ниже в вашем коде после установки заголовка кнопки,
button.sizeToFit()
Сначала проверьте, есть ли какое-либо значение в "VARIABLE_LENGTH_STRING", если в нем есть пустая строка, ничего не будет отображаться и давать размер рамки кнопки, чтобы при отсутствии текстовой высоты высота кнопки была бы определенной, и еще одна вещь изменяла цвет фона кнопок по умолчанию, это ясно, так что Вы увидите содержимое кнопки только на экране, если таковое будет изменено, изменив цвет фона и рамки. Вы увидите его на экране, если у него нет содержимого для отображения:) .