Ответ 1
Используете ли вы репозиторий для своего кода? Возможно, какой-либо файл конфигурации отсутствует, возможно, неправильно отправлен
Поэтому каждый раз, когда я открываю свой проект в Xcode, у меня есть 100 предупреждений, потому что кадры каждого объекта пользовательского интерфейса были перемещены. Мне нужно потратить время и перейти к каждому UIViewController
и обновить фреймы на нем.
Есть ли причина, по которой это происходит? Как я могу это исправить? Любую информацию, которую я должен упомянуть?
Используете ли вы репозиторий для своего кода? Возможно, какой-либо файл конфигурации отсутствует, возможно, неправильно отправлен
В моем случае это происходило, потому что размерный класс, для которого я установил ограничения и макет, изменился, когда я открываю проект Xcode. Поэтому убедитесь, что класс размера остается тем же, для которого вы применили макет или изменили его, если он был изменен с помощью Xcode.
Если выше не работает для вас, вы можете попробовать создать локальный репозиторий, созданный Xcode, и передать код перед тем, как выйти из Xcode.
Надеюсь, это поможет!
Я считаю, что это было задано ранее здесь: Интерфейс Builder постепенно уменьшает раскадровку, размеры и представления репозиций
Я еще не видел исправления проблемы, но ответ, который я там разместил, скорее всего, имеет место. fooobar.com/questions/96310/...
По крайней мере, один источник связан с тем, что раскадровки разрешают макеты на полные границы пикселей (x = 7.0, y = 10.0) или на частичные границы (x = 7.5, y = 10.5). Насколько я могу судить, это можно пересчитать каждый раз, когда вы просматриваете раскадровку, и округление фактически определяется на основе текущей среды отображения.
Вы можете преднамеренно вызвать это поведение, просмотрев раскадровку на экране сетчатки, а затем просмотрите ее на дисплее без сетчатки. С моим дисплеем с двумя мониторами, если я просто перетащил раскадровку с одного экрана (сетчатка 5k) на другую (не сетчатка), это создаст поток несогласованных ограничений. К сожалению, переместить его обратно не исправить! Попробуйте сами (или не... это боль, чтобы исправить).
В командной среде легко увидеть, как это может произойти, как только два человека с разными настройками будут видеть одну и ту же раскадровку.
Как это исправить? Я не слышал о рабочем процессе, который правильно исправляет или избегает проблемы, к сожалению.
Вот несколько причин, которые я видел для периодически неулокальных просмотров. Я не уверен, что любой из них отвечает за проблему, которую вы видите - обычно это приведет к тому, что несколько мнений будут неуместны здесь и там, а не во всех представлениях в вашем раскадровке. Но я перечислил их на всякий случай, если это поможет.
Для xib файлов вы можете легко написать script, который автоматически обновляет фреймы:
ibtool input.xib --update-frames --write input.xib
Но вы не должны беспокоиться об этих предупреждениях: кадры будут автоматически корректироваться во время выполнения.
Это может произойти из-за наличия 4-кратного внешнего дисплея. У всех в моей команде нет такой проблемы, только у меня.
После открытия Xcode пытается выровнять логические точки с физическими пикселями, поэтому все перемещается на 0,5 пункта.