2015-05-11 4 views
1

У меня есть вид, который зажат между двумя другими видами, а высота среднего вида может быть изменена посредством жесты панорамы.Автоматическое ограничение компоновки ломается при динамическом изменении размера (перемещение движения)

Я использую распознаватель жестов, чтобы получить местоположение касания и подавать значение на ограничение высоты среднего вида, чтобы сделать его динамически изменяемым.

Один вопроса, когда прикосновение место выходит за пределы Ближнего зрения и пересекается с любым видом сверху или вида снизу, я получаю предупреждение:

Невозможно одновременно удовлетворяют ограничения ...

будет пытаться восстановить разбив ограничение

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

а) правильно использовать ограничение по высоте для динамического изменения высоты б) есть ли способ избежать этого предупреждения вошло

Спасибо!

+0

Не могли бы вы разместить весь вывод ошибок из ограничений? Возможно, во время изменения размера размер будет меньше нуля, и именно поэтому он сбой –

+0

Изменение размера делает отрицательное значение. Приложение не разбивается, но я просто получаю предупреждение, и я беспокоюсь, что это может вызвать непредвиденные проблемы. Я получаю предупреждения два раза: когда постоянное значение ограничения по высоте является отрицательным и когда оно приводит к тому, что высота нижнего представления становится отрицательной. Но пользователь должен иметь возможность изменять размер в любом случае, так что я просто запускаю его? – BridgeTheGap

ответ

2

Чтобы ответить на ваш вопрос:

а) Да, это правильный путь, чтобы обновить высоту зрения

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

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

Не уверен, что вы также поддерживаете iOS 7, но если это так, приложение, скорее всего, потерпит крах из-за ошибок компоновки.

Итак, мое предложение было бы добавить что-то вроде этого, где вы обновляете ограничения:

[self.heightConstraint setConstant:MAX(0, value)]; 

Удачи с проектом!

Смежные вопросы