В viewDidLoad()
(или там, где вы настраиваете детальный вид), простое скрытие пустых меток будет означать, что UIStackView
переместит оставшиеся метки в нужное положение.Вам понадобится IBOutlet
для меток курса (или сгенерировать их в коде).
Вот пример с переменной receiver
, которая либо равна нулю, либо содержит данные, которые будут помещены в "Поле "Получатель":
if receiver != nil {
receiverNameLabel.isHidden = false
receiverDataLabel.isHidden = false
receiverLabel.text = "Text from your data here"
} else {
receiverNameLabel.isHidden = true
receiverDataLabel.isHidden = true
receiverLabel.text = ""
Все остальное будет UISTackView
.Если левая и правая части находятся в двух отдельных видах стека, убедитесь, что они имеют одинаковые настройки (заливка и т. Д.), Чтобы при исчезновении «ряда» меток остальные оставались выровненными.