2016-09-19 6 views
2

Я после «Dynamic Stack View» часть этого Stack View Apple tutorial, и я бегу в проблему ограничения в Interface Builder, если я покину UIStackView (в пределах UIScrollView) пустым, в отличие от помещения в него UIButton. Я хочу, чтобы мой UIViewController динамически создавал все arrangedSubviews, поэтому я не хочу оставлять один UIView там, где мне просто нужно будет обрабатывать или удалять программно.Constraint ошибка для UIScrollView с пустым UIStackView в Interface Builder

Я могу игнорировать ошибку, и она по-прежнему будет работать так, как я хочу, без ошибок ограничения времени выполнения. Однако я не хочу оставлять проблемы ограничения в моем xib/nib.

Какой самый чистый способ удовлетворить интерфейс Builder? Если я добавлю конкретное ограничение по высоте, тогда я должен создать выход для него и удалить его программно. Это кажется чрезмерно инвазивным, и я предпочел бы оставить как можно больше Auto Layout в xib/nib.

The Interface Builder overview

The constraint error

ответ

2

Оказывается, что для того, чтобы удовлетворить Interface Builder, то UIScrollView должен иметь высоту его содержание, и она не принимает на себя высоту 0. Так как UIStackView - это представление содержимого, оно должно иметь высоту. Несмотря на то, что во время выполнения он будет иметь контент и, следовательно, высоту, Interface Builder должен иметь резервную копию. Поэтому установите Внутренний размер.

Это в нижней части Размер инспектора:

enter image description here

Изменение искробезопасности Размер от По умолчанию (System Defined) к Закончен Место и установить Высота все, что вы хотите , Возможно, что-то достаточно большое, чтобы помочь при проектировании в Interface Builder. Вы можете оставить Ширина настроена на все, или проверьте Нет checkbox.

+0

Благодарим за отправку решения здесь! – vrutberg