исправить размер NSWindow? - PullRequest
       7

исправить размер NSWindow?

3 голосов
/ 03 декабря 2010

Как мы можем исправить размер NSWindow, чтобы пользователь не мог изменить его размер, просто перетаскивая его мышью, или есть способ изменить размер всех окон подпредставлений, когда пользователи изменяют размер окна, на самом деле проблема в том, что когда пользователь изменяет размер окна, подпредставления не изменяют размеры, то есть я хотел заблокировать изменение размера окна?

Ответы [ 3 ]

5 голосов
/ 22 декабря 2011

Возможно, я здесь упускаю точку (и немного запаздываю), но вы не можете установить параметры «ограничений» для самого окна?

Если минимальный и максимальный размеры совпадают, это предотвращаетизменение размера.

enter image description here

1 голос
/ 03 декабря 2010

Предполагается, что вы используете Interface Builder для макета своего окна:

Чтобы изменить размеры подвидов, перейдите к Инспектору размера (команда-3) и для каждого подпредставления установите его структуры авторазмера.и растягивать (нажимать красные линии в прямоугольнике), пока анимация предварительного просмотра не сделает то, что вы хотите.Помните: (1) Если родительское представление не растягивается, то и его дети не будут;(2) Если вы используете полосы прокрутки, они никогда не появятся, если содержимое растягивается в том же направлении, что и полоса прокрутки.

Если вам действительно нужно заблокированное окно без элементов управления для изменения размера, вы можете снять отметкуэти опции в Инспекторе Атрибутов (команда-1).Или, проще, создайте IBOutlet для окна и вставьте его в свой код:

[self.theWindow setStyleMask:NSBorderlessWindowMask];
0 голосов
/ 03 декабря 2010

Возможно, не тот ответ, который вам нужен, но вы можете предотвратить изменение размера, отключив индикатор изменения размера (через setShowsResizeIndicator), а затем применив ...

- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)frameSize

...NSWindowDelegate делегат метод, так что он просто возвращает существующий размер окна.

Странно, что нет метода "setCanResize:", но вы идете.

...