2015-07-16 4 views
0

Мне нужно полностью игнорировать ограничения автоопределения на подвью. Я пробовал использовать translatesAutoresizingMaskIntoConstraints = YES, как утверждают сообщения. Это здорово и позволяет установить рамку моего объекта. То, что это не делает, полностью игнорирует ограничения автоматического макета, так как представления, которые я устанавливаю translatesAutoresizingMaskIntoConstraints = YES, все еще вызывают вывод отладчика «попытаются восстановить, нарушив ограничение .....». Как сделать так, чтобы ограничения даже не ссылались, но по-настоящему игнорировались, пока я не верну их обратно. Есть ли простое решение?Игнорировать ограничения автоопределения, а затем восстановить их

ответ

0

На iOS 8 и более поздних версиях вы можете отключить ограничение, установив active на false. Вы можете создать список IBOutlet, чтобы вам не приходилось ссылаться на все ограничения один за другим, а также активировать и деактивировать их все сразу.

Для обратной совместимости вы можете удалить их из представления и добавить их позже.

+0

Спасибо за ваш ответ, я частично разрешил проблему, создав несколько пользовательских ячеек, один из которых я хотел использовать, и один без них. Я бы чередовал загрузку xibs на основе информации, которую я хотел отобразить. Это разрешило мою проблему в раунде, хотя в будущем я буду проверять активное свойство и посмотреть, действительно ли это приводит к тому, что представления игнорируют ограничения автоматической компоновки, где translatesAutoresizingMaskIntoConstraints этого не делают. – chris