Подтвердить что ты не робот

StackView с MapView не работает должным образом при начальной загрузке

Быстрое обновление, поскольку сейчас я вижу большой интерес к этому, когда iOS 10 работает вживую. Я в конечном счете открыл TSI, и Apple ответила сегодня, указав, что я должен открыть для этого ошибку. Они не предоставили никакой дополнительной информации или предложений об обходных решениях, и подразумевается, что здесь что-то не так.

Тем временем я все еще копаю обходной путь. Я вытащил весь макет из StackView и заменил ограничения автоопределения, только чтобы испытать ту же проблему. Проблема может быть в MapView.


У меня проблема с размещением нескольких меток и MapView в вертикальном StackView. Этот вид не ведет себя последовательно с iOS 10/Xc8.

На симуляторе 6/S он отображается правильно. На SE размер MapView фактически больше, чем на 6, и закрывает метки. Это разрешится после поворота (и оно выглядит отлично в предварительном просмотре раскадровки)

Я продемонстрировал поведение с чрезвычайно простым проектом. Он содержит ракурс с одним вертикальным StackView, который выглядит следующим образом:

введите описание изображения здесь

В StackView используется раскладка Fill и Fill. Интервал отсутствует.

Каждая метка имеет приоритет обхода контента 251 и сопротивление сжатию 750.

MapView имеет обертку содержимого 250 и сжатие 750.

Я пробовал играть с этими цифрами, но он никогда не работал. Теоретически, MapView имеет самый низкий приоритет обхода, поэтому он должен использовать все дополнительное пространство с распределением Fill.

Вместо этого я вижу (на симуле SE)

нижние две метки, на которые распространяется MapView

Если я вращаю устройство и обратно - он выглядит отлично. Похоже, что с макетом существует некоторая проблема с синхронизацией. Однако я ничего не делаю в коде - текст ярлыков жестко закодирован в storyboard. Я ничего не делаю в коде.

Как уже упоминалось, на iPhone6 ​​он выглядит отлично. Это также отлично выглядит, если я произвольно подстрою высоту ярлыков. Я заметил, что ярлыки были одинаковыми fontsize, особенно, это было хорошо. Поэтому я задаюсь вопросом, использует ли она начальную метку fontsize для вычисления внутреннего contentsize или чего-то странного подобного.

У iPad iPad также есть проблемы. Фактически, весь экран сначала покрывается картой, и я вообще не вижу этикетки (до поворота).

Я не уверен, что ScrollViews должен хорошо играть с StackViews. Тем не менее, я попытался вытащить MapView оттуда и зафиксировать его ниже StackView с помощью autolayout. Удивительно, но у меня были такие же конечные результаты.

Заключительное примечание. Я не тестировал это с помощью примера проекта, но в моем первоначальном проекте (проявляющем такое же поведение) это произошло в Xcode 8, но не в Xcode 7.

4b9b3361