установить произвольную длину и ширину NSWindow - PullRequest
0 голосов
/ 12 октября 2009

Для моего приложения я хочу установить произвольную длину и ширину для моего NSWindow из самого приложения. У меня все настроено (поля NSTextfields), но я не знаю, как мне это сделать

Ответы [ 2 ]

4 голосов
/ 12 октября 2009

Требуется метод setFrame:display: или setFrame:display:animate: в NSWindow.

Из документации :

- (void)setFrame:(NSRect)windowFrame display:(BOOL)displayViews

Параметры
windowFrame
Рамка-прямоугольник для окна.

displayViews
Указывает, будет ли окно перерисовывать представления, которые должны быть отображены. Когда ДА, окно отправляет сообщение displayIfNeeded по иерархии своих представлений, перерисовывая все представления.

3 голосов
/ 13 октября 2009

NSRect определяется следующим образом:

typedef struct _NSRect {
    NSPoint origin;
    NSSize size;
} NSRect;

И NSSize определяется следующим образом:

typedef struct _NSSize {
    CGFloat width;
    CGFloat height;
} NSSize;

Вам необходимо сначала преобразовать NSString в числа. Вы можете сделать это так:

CGFloat numericalValue = [stringValue doubleValue];

(На самом деле я не помню, определен ли CGFloat как float или double. Мне просто лень сейчас его искать.) Обратите внимание, что это вызовет исключение, если stringValue не представляет правильно отформатированный номер.

...