Xcode - Раскадровка показывает размер и положение, измененное при открытии
Я заметил кое-что очень раздражающее в Xcode: у меня есть несколько раскадровок, для которых определенные размеры и положение представлений систематически обновляются при их открытии. Это раздражает особенно при работе с командой.
Вот как я вырабатываю это поведение:
- Я вытащил приложение из репозитория git
- Откройте затронутую раскадровку без каких-либо изменений
- Git Diff уже говорит мне различия, как
$ git diff
...
- <rect key="frame" x="576.99999828648401" y="11" width="170" height="20"/>
+ <rect key="frame" x="577" y="11" width="170" height="20"/>
...
- <rect key="frame" x="518.99999921768904" y="7" width="228" height="30"/>
+ <rect key="frame" x="519" y="7" width="227.99999841338541" height="30"/>
Это происходит с кем-то еще?
Вопрос в том:
Почему моя раскадровка модифицируется, когда я только ее открываю, и как это предотвратить?
Обратите внимание:
Я понял, что это, кажется, происходит только на <rect />
содержится в label
с & textField
s
3 ответа
Есть ошибка с раскадровками, которую, кажется, никто не изучает.
Постарайтесь максимально разделить раскадровки, чтобы уменьшить вероятность конфликта слияния и облегчить его возможное разрешение. Это также может увеличиться, если вы используете Xcode на внешнем дисплее с другим разрешением.
Эту проблему можно только уменьшить, но никогда не решить.
Xcode сохраняет информацию о расположении раскадровки в файле XML (.storyboard). Таким образом, любые изменения в раскадровке будут отражены в этом XML. Особенно если вы работаете с товарищами по команде, эта информация может регулярно меняться. Вы можете попробовать это, перемещая некоторые элементы (ничего не меняя), и после этого запустите diff с вашим репозиторием git. Вы должны снова увидеть изменение в XML. Вы можете игнорировать файл раскадровки в вашем git checkout. Но это не имеет большого смысла, так как ваши товарищи по команде, возможно, добавили новые элементы в раскадровку.
Может быть, это также поможет: [ Xcode изменяет неизмененные раскадровки и файлы XIB
Если я правильно понимаю первый ответ, другие изменения могут также вызвать изменение в XML-файле раскадровки.
С уважением Томас
У меня та же проблема. Вы решили это? Как?
Это мое решение:
- В настоящее время я использую версию Xcode 6.1.1 (6A2008a)
- Я загружаю Xcode 6.3 beta 2 Build: 6D532l
- Открыть проект в Xcode 6.3 beta 2
- Xcode 6.3 beta 2 изменит раскадровку: добавьте несколько полей и измените некоторые значения
- Запустите проект, чтобы проверить внешний вид приложения
- Закрыть проект
- Открыть с версией Xcode 6.1.1 (6A2008a)
- Проверьте изменения (в моем случае Xcode Version 6.1.1 (6A2008a) не отклоняйте изменения Xcode 6.3 beta 2)
- Выполнить (проблема, кажется, решена)