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

Раскадровка: Как разрешить Xcode автоматически обновлять фреймы при изменении ограничений макета?

Я видел видео WWDC 2014 (что нового в Interface Builder), где ведущий использует Storyboard и изменяет высоту прототипа ячейки таблицы в контроллере табличного представления (около 7 м 30). Я вижу все подпункты этого размера ячейки, когда он перетаскивает указатель высоты на ячейку. Это замечательно, потому что теперь вы можете увидеть, как ваши ограничения макета ведут себя в разных сценариях очень быстро.

Он не объясняет, как он это делает. Поскольку, когда я перетаскиваю высотный дескриптор прототипа ячейки таблицы, кадры всех моих подпрограмм не обновляются. Они обновляются только при выборе из меню: Редактоp > Устранение проблем с автоматическим макетированием > Обновление фреймов (все представления в контроллере табличного представления)

Есть ли настройка Xcode в любом месте, которое переключает живые обновления фреймов представления, которые я вижу в Storyboard, подчиняясь ограничениям макета?

4b9b3361

Ответ 1

В теории вы должны включить "Потомки" в всплывающем меню "Изменение размера" (нижний правый угол редактора раскадровки).

На практике это сломано в вашем случае. У меня такая же проблема. Вы можете сообщить об ошибке в http://bugreport.apple.com/.

Возможно, он работает лучше в Йосемити. Я все еще бегу Маверикс.

Ответ 2

Обновление: на XCode 8 Beta 5 Я тестировал и обнаружил XIB, где мне нужно было вручную обновлять. Теперь Frame автоматически обновляется, когда я изменяю размер представления свободной формы.

В XCode 7.3.1: Это не решение, но я нахожу хороший компромисс.

Перейдите к XCode → Настройки → Ключи для клавиш → Поиск "Обновить фреймы". Удалите существующие ярлыки для первого элемента (который, похоже, не работает) и замените ярлык на CTRL + OPTION + COMMAND + P для второго элемента. Ярлык - пример, вы можете добавить любой ярлык, который хотите, который не конфликтует с существующими привязками).

Теперь каждый раз при изменении размера вы можете быстро использовать ярлык для обновления фрейма.

Ответ 3

Правильный ответ отмечается, что это ошибка, но может быть, что Interface Builder не может понять ваши ограничения для автоматического обновления. Я использую Xcode 6.2 на Yosemite. Я думал, что у меня такая же проблема, но по мере того, как мои ограничения стали более полными, Interface Builder обновляет их, когда я иду.