Скрыть первое подпредставление в стеке, а другие исчезают на iOS 10.2, но не 11

Запутался в этом...

У меня есть вид стека в ячейке таблицы. Вид стека (Центр, Равный интервал) имеет два вложенных стека: Левый стека (Fill, Fill) имеет UIButton (infoButton) и UILabel (Описание) Правый стека (Fill, Fill) имеет только UILabel

Когда я устанавливаю infoButton.isHidden = true, описание нигде не видно на iOS 10.2. На iOS 11.1 все работает как положено.

Спасибо, что посмотрели!

Изображение: iOS 11.1 слева, iOS 10.2 справа.

Дополнительная информация:

if (input.Help == ""){
    aCell.infoButton.isHidden = true
} else {
    aCell.infoButton.isHidden = false
    aCell.infoButton.tag = i
    aCell.infoButton.isUserInteractionEnabled = true
    aCell.infoButton.addGestureRecognizer(tap)
}

Решено: Я изменил вид стека (который содержит кнопку и метку вместе) на выравнивание "Центр" вместо "Заливка". Высота Stackview изменялась до 0, как это наблюдалось в View Debugger (спасибо, Мэтт, за указание на отладчик!)

iOS 11.1 слева, 10.2 справа

1 ответ

Решение

Изменено представление стека (которое содержит кнопку и метку вместе) на выравнивание "Центр" вместо "Заливка".

Высота Stackview изменялась на 0, как это наблюдалось в View Debugger (спасибо Мэтту за указание на отладчик!), Когда одно подпредставление стека было установлено как скрытое.

У меня была аналогичная проблема с размещением метки и текстового поля внутри представления стека, содержащего другую метку в качестве заголовка. Требуется скрыть / отобразить текстовое поле и метку для целей редактирования (например: метка имени и текстовое поле имени. Если при редактировании будет отображаться только текстовое поле, в противном случае - только метка).

Title:      First Name (always visible)
Label:      John (hidden when editing)
Text Field: John (hidden when not editing)

Моя проблема: при отображении метки она исчезла вместе с меткой заголовка.

Мое решение: встраивание в стек просмотра метки имени и текстового поля

Надеюсь это поможет:)

Другие вопросы по тегам