NSView предотвратява хоризонтално преоразмеряване на изглед на прозорец/съдържание

Имам NSView в основния си изглед, който пречи на моя прозорец/основен изглед да преоразмерява правилно. Дори когато премина на цял екран, основният ми изглед не може да запълни екрана (има малко черно пространство вдясно). Знам, че причината е този конкретен изглед (или нещо вътре), тъй като когато го изтрия, приложението ми се държи нормално. Какво би накарало NSView да "контролира" нарастването на своя прозорец?

Ето ограниченията на този изглед:

въведете описание на изображението тук

АКТУАЛИЗИРАНЕ: Намерих NSTextField вътре, който имаше настройка за прегръдка, зададена на 750. Намалих я до 250, сега НАПРАВА расте, но не мога да я свия от „някои“ размер. Наричам го „някакъв“ размер, защото няма нищо особено: малко е по-малко от моята естествена ширина на цял екран и е различно от моята IB ширина.


person Can Poyrazoğlu    schedule 22.05.2015    source източник
comment
Като цяло, ограничения с приоритети, по-високи от NSLayoutPriorityWindowSizeStayPut (500), могат да наложат размера на прозорец. Това включва имплицитните ограничения, генерирани от присъщия размер на съдържанието, ако изгледът има такъв, които имат зададени приоритети за прегръщане на съдържание и устойчивост на компресия. За отстраняване на грешки опитайте да регистрирате [window.contentView constraintsAffectingLayoutForOrientation:NSLayoutConstraintOrientationHorizontal] (или ...Vertical, според случая). Ако имате нужда от помощ при тълкуването на резултата, добавете го към въпроса си.   -  person Ken Thomases    schedule 23.05.2015
comment
@KenThomases Виждам, тогава хоризонталната устойчивост на компресия/приоритетите на прегръщане от 750 надделяха над размера на прозореца по подразбиране. Бихте ли го публикували като отговор, за да мога да го приема?   -  person Can Poyrazoğlu    schedule 24.05.2015


Отговори (1)


Като цяло, ограничения с приоритети, по-високи от NSLayoutPriorityWindowSizeStayPut (500), могат да наложат размера на прозорец. Това включва имплицитните ограничения, генерирани от присъщия размер на съдържанието, ако изгледът има такъв, които имат зададени приоритети за прегръщане на съдържание и устойчивост на компресия.

Така че, ако имате текстово поле, чийто хоризонтален приоритет на обгръщане на съдържанието е, да речем, 750 и има верига от ограничения, които свързват неговите предни и задни ръбове с ръбовете на изгледа на съдържанието на прозореца (или, по подобен начин, свързват ширината на текстовото поле със съдържанието, ширината на изгледа), тогава прозорецът няма да може да стане достатъчно голям, за да „разтегне“ това текстово поле.

По същия начин, ако устойчивостта на хоризонтално компресиране на текстовото поле е висока, прозорецът няма да може да се свие до точката, в която текстовото поле трябва да бъде компресирано.

person Ken Thomases    schedule 25.05.2015