Где установлен флажок Xcode «Переводит Autoresizing Mask Into Constraints»

В одном из видеороликов WWDC 2012, Auto Layout By Example, они демонстрируют приложение OS X с использованием Autolayout, и примерно через 7 или 8 минут он показывает, как для одного вида вы можете снять флажок в Инспекторе атрибутов и поле называется чем-то вроде «Переводит Autoresizing Mask Into Constraints» . Теперь, я хорошо знаю код, эквивалентный этому полю, translatesAutoresizingMaskIntoConstraints логический, но я не могу найти этот флажок где-либо в проектах iOS или OS X. Мой проект использует Autolayout. Мне действительно нужен этот флажок, потому что одна из вещей, с которыми я борюсь в обучении Autolayout (и преобразовании springs / struts app в AL), – это миллионы ограничений, которые Xcode генерировал для каждого представления, и как их очищать и разумно переопределять некоторые / все в коде. Что бы я хотел, чтобы сделать это преобразование по одному виду одновременно, это отключить эти автоматически сгенерированные ограничения.

Почему я не вижу этот флажок? Я использую Xcode 4.6.

Этот флажок доступен в Interface Builder (IB), но только если вы разрабатываете проекты Cocoa, предназначенные для OS X. Для iOS он недоступен в настоящее время. Вы можете установить его только программным способом.

Автоматическая компоновка на iOS из моего понимания – и другие могут свободно размещаться здесь – это не полная реализация того, что доступно на OS X.

Честно говоря, учитывая то, что вы говорите впоследствии, этот флажок, вероятно, вам не нужно беспокоиться. Я думаю, что важно обновить проекты OS X до Auto Layout, но, как правило, для iOS маловероятно, что вы будете смешивать один и другой. То есть, вы либо установите флажок Xib в File Inspector, либо «Use Autolayout», либо нет.

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

Тем не менее, есть один случай, когда вам может понадобиться с этим флагом. Это если вы хотите создать автономный Xib-файл для представления, а затем загрузите его программно с помощью loadNibNamed . При этом, по умолчанию старые параметры автоматического изменения размера преобразуются в новые ограничения Auto Layout стиля. Обычно я хочу добавить свой собственный, поэтому я установил этот флаг, чтобы отключить их.

myView.translatesAutoresizingMaskIntoConstraints = NO

Во всяком случае, это еще одна история.

Вот ссылка для получения дополнительной информации, хотя вы, без сомнения, уже посмотрели на нее:

Принятие автоматической компоновки

Я бы сказал, что если вы начинаете бороться с Auto Layout в начале – и вы не были бы людьми, если бы вас не было, мы все были – тогда я бы придерживался Interface Builder и думал о золотые правила. Самый важный для меня – то, что он ненавидит двусмысленность. Это как вакуум в природе. Прежде чем вы сможете удалить ограничение, которое вам не нужно , вы должны добавить тот, который вам нужен, а затем замените старый.

Другая ошибка, которую я сделал, – это смешивание Auto Layout и фреймов. Поэтому я бы сделал код, который проверил ширину кадра, а затем применил бы это к ограничениям. Плохая ошибка. Это действительно заканчивается слезами. Когда вы попадаете в Auto Layout, важно действительно забыть о том, чтобы что-то делать с CGRect , frame и т. Д.

Придерживайтесь, хотя. Начните с некоторых простых представлений в IB и экспериментируйте. На самом деле есть метод безумия.

Еще одна ссылка, на которую стоит обратить внимание:

10 вещей, которые вам нужно знать о автокаталоге какао

  • Поиск метода Xcode 5.1 допускает только один символ?
  • Блоки и обмен сообщениями
  • Подключиться к серверу RabbitMQ с помощью Swift на Mac OS или IOS?
  • SpriteKit - остановка объектов наложения
  • Как создать объект, который зависит от себя в функции init?
  • Swift 2: структурированная поточная безопасность
  • Как удалить профиль / Appision Provisioning Profile iOS для Xcode?
  • Установка OSx-сервера + xcode-бота, не может символизировать журналы сбоев
  • Список установленных профилей для мобильных устройств
  • Минимальная системная версия Swift 2.0 (цель развертывания)
  • Xcode Organizer: нельзя использовать iPhone (dyld_shared_cache_extract_dylibs не удалось)
  • Interesting Posts

    rejectViewControllerAnimated закрыть все контроллеры представления для root

    Производительность MKOverlayView

    Оповещение о доступности новой версии приложения iOS.

    мутирующий метод, отправленный на неизменяемый объект

    Facebook iOS SDK: Войдите в Facebook, не запрашивая разрешения для приложения

    Можно ли объединить несколько прозрачных объектов SCNShape?

    UITableView: правильный способ отображения разделителя для последней ячейки

    iOS 7 – Возобновляемые загрузки NSURLSession

    Как установить размер ячейки коллекции, точно равный представлению коллекции в iOS?

    Объявления AdMob для смарт-баннеров, не обновляющиеся на устройстве

    Отправить дополнительные данные в iBeacon

    Как разрешить «Отсутствует ключ Info.plist … NSPhotoLibraryUsageDescription»

    iOS Tabbar – переход на первую вкладку и первый ViewController

    iOS7 объединяет панель состояния и панель инструментов

    Google Analytics не отслеживает события в мобильном приложении HTML5 правильно на iPhone

    Давайте будем гением компьютера.