Как установить NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints?

Я получаю следующее сообщение от механизма автоматического размещения какао:

Установите для NSUserDefault NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints значение YES, чтобы -[NSWindow visualizeConstraints:] автоматически вызываться, когда это происходит.

Но я не знаю, как "установить NSUserDefault NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints в YES".

Как мне установить это?

5 ответов

Решение

Вы также можете установить

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints"];

в ApplicationDidFinishLaunching.

Вы можете настроить параметры для конкретной схемы следующим образом...

1) Выберите схему из всплывающего меню и выберите " Редактировать схему"...

Редактировать схему... меню

2) В следующем скользящем окне добавьте новую запись в Аргументы пройдены при запуске.
Скопируйте и вставьте следующую строку.

-NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints YES

Изменить вид

Множество хороших предложений в предыдущих ответах, но все они должны повторяться для каждого разрабатываемого вами приложения, даже для быстрых разовых попыток опробовать идею.

Если вы хотите, чтобы он был включен по умолчанию для всех приложений и всех пользователей, вы можете установить его в своей базе данных по умолчанию, введя следующую команду в Терминале:

defaults write -globalDomain NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints YES

Вы можете проверить страницу справочника на предмет вариаций темы, например, если вы хотите, чтобы она была более ограниченной по объему.

Одним из недостатков сохранения этого параметра является то, что программное обеспечение других людей неожиданно выделяется для неоднозначных макетов - даже в некоторых случаях от самого Apple.

Поэтому вы можете захотеть отключить его снова на периоды. Команда для этого довольно проста:

defaults write -globalDomain NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints NO

И просто для ясности: настройка при вводе в Терминале применяется только к рассматриваемому компьютеру, поэтому конечные пользователи не получат настройки. Это также означает, что бета-тестеры не увидят фиолетовую тень, которая может быть или не быть тем, что вы хотите.

Swift 3.0

UserDefaults.standard.set(true, forKey: "NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraint‌​s")

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

Другие вопросы по тегам