Я читал, что представления стека глючат, когда дело доходит до такого рода вещей
Ну, это не так. На самом деле они довольно сложные и непротиворечивые, и их поведение четко определено.
Что такое представление стека? Это конструктор ограничений для автоматического размещения. И это все, что есть. Помещение представлений в представление стека означает «Пожалуйста, настройте эти представления с равным интервалом» (или какими-либо другими настройками для представления стека) «, используя наложенные вами ограничения на автоматическое расположение».
Хорошо, но как работает представление стека? сделай это? Autolayout требует четырех частей информации, положения x и y, ширины и высоты. Представление стека предоставит позицию, но как насчет размера (ширина и высота) его представлений? Ну, один из способов сказать это - дать вашим представлениям внутренние ограничения (если они не конфликтуют с тем, что еще будет делать представление стека). Но в отсутствие этого он должен использовать intrinsi c size своих представлений. И размер встроенного c представления изображения в режиме автоматического размещения - это размер изображения, которое он содержит.
Так что все было хорошо, когда у вас были изображения с изображениями того же размера. Все они имели одинаковый размер intrinsi c, и теперь представление стека могло их разнести. Но затем вы забрали изображение просмотра изображения. Теперь у него нет изображения. Таким образом, он имеет нет intrinsi c размер. Таким образом, представление стека просто удаляет его из строки (или столбца, или чего бы то ни было).
Ваш обходной путь на самом деле довольно хороший, а именно, чтобы убедиться, что представление изображения всегда имеет изображение; если это выглядит пустым, вы просто даете ему пустое изображение. Изображение выглядит как фон, но оно по-прежнему является изображением с фактическим размером, и поэтому оно дает виду изображения размер, а представление изображения продолжает занимать свое место.
Однако другое решение было бы просто чтобы дать виду изображения ограничение по ширине, равное ширине изображения карты.