Я створюю додаток для iOS у Xcode 5, і у мене виникають проблеми з додаванням обмежень на макет. У Xcode 4.x я міг би просто додати пробіли, що ведуть / завершують / зверху / знизу, до контейнера (суперперегляду) до будь-якого елемента інтерфейсу. Зараз у мене є лише такий варіант:
Я хочу додати обмеження "нижній пробіл для суперперегляду" до мого текстового подання. Там сказано "інтервал до найближчого сусіда", але я не хочу створювати обмеження для "найближчого сусіда", у мене є щось інше під текстовим поданням, і я не хочу створювати обмеження з цим. Якщо під моїм текстовим поданням немає іншого об’єкта, він правильно додає обмеження до контейнера. Але якщо я намагаюся щось змінити, все псується: мені потрібно перенести всі подання кудись ще, потім додати обмеження, а потім додати перемістити інші види назад. Якщо я додаю обмеження між текстовим поданням та елементом інтерфейсу (у цьому випадку кнопка), воно не працює (все здається правильно: кнопка має обмеження внизу суперперегляду, а текстовий вигляд має обмеження вертикального інтервалу з і немає суперечливих обмежень). Елементи інтерфейсу відображаються за межами екрану в різних (3,5-дюймових) орієнтаціях екрана. Чи є помилка у Interface Builder, чи мені чогось не вистачає? Коли я міг налаштувати все правильно, мої елементи управління все ще здаються поза межами, коли я змінюю розмір екранів конструктора інтерфейсів, але відображаю правильно на симуляторі / пристрої на 3,5 дюйма. Яка "найкраща практика" проектування інтерфейсу користувача з новими обмеженнями Interface Builder у Xcode 5?
ОНОВЛЕННЯ: У мене виникають ще деякі проблеми в іншому проекті з тим самим. Я намагаюся зафіксувати верхню частину подання у верхній частині макета, просто перетягуючи CTRL туди, де написано "керівництво верхнім макетом", і намагається перенести нижню частину мого елемента керування на макет (приблизно на -470 точки), замість того, щоб міняти верхню частину мого елемента керування, що не має жодного сенсу, оскільки елемент керування повинен розміщувати себе на екранах із змінною висотою (наприклад, звичайний і 4-дюймовий iPhone та можливі інші макети в майбутньому ..). Ось скріншот того, що відбувається:
І я отримую це в обмеженнях:
Як я можу змусити Interface Builder вирівняти верхню частину подання до верхньої інструкції з розміщення?
ОНОВЛЕННЯ 2: Я знайшов обхідний шлях. Спочатку я змінюю розмір подання, щоб зменшити його висоту (тому його верхня частина не буде перекриватися або знаходитись дуже близько до верхньої напрямної макета), А ПОТІМ я CTRL + перетягую її до верхньої напрямної макета. Здається, це працює правильно. Після його підключення я знову змінюю розмір вигляду до потрібного розміру та вибираю Update Constraints
. Це працює, але все ще не є рішенням, оскільки вимагає зміни розміру подання, підключення, повторного зміни розміру та оновлення обмежень.