Чтобы ответить на ваш первый вопрос ...
Когда вы скрываете представление в UIStackView
, автоматическое расположение обрабатывает его так, как будто оно «пропало» - представление стека перекомпоновывает свое arrangedSubviews
так, как если бы это представление никогда не существовало с самого начала. .
Если вы хотите этот результат:

Лучше всего установить для свойства .alpha
этого вида / кнопки значение 0
. Он будет полностью невидимым (то есть фактически «скрытым»), и представление стека сохранит свой текущий макет. И элементы управления с .alpha = 0
не реагируют на прикосновения (поэтому вы не можете нажать невидимую кнопку).
Что касается вашего второго вопроса, я бы порекомендовал вам опубликовать этот вопрос самостоятельно. Убедитесь, что вы используете код, который не дает желаемого результата.
См .: Как спросить