2015-05-22 4 views
1

У меня есть NSView внутри моего основного вида, что предотвращает правильное изменение размера окна/основного вида. Даже когда я вхожу в полноэкранный режим, Мое главное представление не может заполнить экран (там есть черное пространство справа). Я знаю, что причина в том, что конкретный вид (или что-то внутри), как при его удалении, приложение работает нормально. Что может заставить NSView «контролировать» рост своего окна?NSView, предотвращающий окно/просмотр содержимого при изменении размера по горизонтали

Вот ограничения на этой точке зрения:

enter image description here

UPDATE: Я нашел NSTextField внутри которой обнимая proiorty установлен в 750. Я взял его до 250, в настоящее время он растет, но я не могу урезать его с «определенного» размера. Я называю это «некоторым» размером, потому что он не имеет ничего особенного: он немного меньше, чем моя собственная полноэкранная ширина, и это отличается от моей ширины IB.

+1

В общем случае ограничения с приоритетами выше, чем 'NSLayoutPriorityWindowSizeStayPut' (500), могут форсировать размер окна. Это включает в себя неявные ограничения, генерируемые внутренним размером содержимого, если это имеет вид, которые имеют приоритеты, установленные для обжатия содержимого и сопротивления сжатию. Для отладки попробуйте выполнить регистрацию '[window.contentView constraintsAffectingLayoutForOrientation: NSLayoutConstraintOrientationHorizontal]' (или '... Vertical', в зависимости от ситуации). Если вам нужна помощь в интерпретации вывода, добавьте ее в свой вопрос. –

+0

@KenThomases, которые я вижу, тогда приоритеты горизонтального сжатия/обнимания 750 были переопределены размером окна по умолчанию. Не могли бы вы разместить его в качестве ответа, чтобы я мог его принять? –

ответ

2

В общем случае ограничения с приоритетами выше NSLayoutPriorityWindowSizeStayPut (500) могут форсировать размер окна. Это включает в себя неявные ограничения, генерируемые внутренним размером содержимого, если это имеет вид, которые имеют приоритеты, установленные для обжатия содержимого и сопротивления сжатию.

Итак, если у вас есть текстовое поле, чей приоритет по общему обложению содержимого, скажем, 750, и существует цепочка ограничений, которые соединяют его ведущий и конечный ребра с краями содержимого контента окна (или, аналогично, связывают текстовое поле ширину до ширины представления содержимого), то окно не сможет расти настолько, чтобы «растянуть» это текстовое поле.

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

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

  • Нет связанных вопросов^_^