У меня есть UIImageView в моем приложении для фотографий, который меняет размер на основе импортированного изображения. Размер создается динамически, а затем позиционируется программно в центре экрана без использования автоматической компоновки.Отключение автоматической компоновки для одного UIImageView
Теперь, чтобы сделать это, я использовал
self.imageViewCanvas.translatesAutoresizingMaskIntoConstraints = YES;
[self.imageViewCanvas setFrame:CGRectMake(0, 0, screenWidth, screenHeight)];
отключить ограничения. Проблема в том, что всякий раз, когда я загружаю приложение, я получаю длинное предупреждающее сообщение, которое содержит следующее:
Невозможно одновременно удовлетворить ограничениям. Возможно, по крайней мере одно из ограничений в следующем списке - это тот, который вы не хотите. Попробуйте следующее: (1) посмотрите на каждое ограничение и попытайтесь выяснить, чего вы не ожидаете; (2) найти код, который добавил нежелательные ограничения или ограничения и исправить его. (Примечание: Если вы видите NSAutoresizingMaskLayoutConstraints, что вы не понимаете, обратитесь к документации по translatesAutoresizingMaskIntoConstraints собственности UIView) ( «», «» ) будет пытаться восстановить разбив Constraint Сделайте символическую точку останова на UIViewAlertForUnsatisfiableConstraints, чтобы поймать это в отладчике. Методы в категории UIConstraintBasedLayoutDebugging в списке UIView, также могут быть полезны.
Есть ли способ отключить это конкретное предупреждение или я могу каким-то образом изменить код, чтобы избежать его?
Благодаря
Является ли 'imageViewCanvas' создан в раскадровке? Если это так, у него есть ограничения, загруженные из раскадровки. Вы должны избавиться от этих ограничений. –
Какие ограничения у вас предоставили для просмотра изображений? –
Нет. Я не использую раскадровки, вместо этого использую XIB. У меня просто есть UIImageVIew на UIView, и насколько мне известно, никаких ограничений нет. – ORStudios