Я наткнулся на этот вопрос, и это были именно мои потребности. Однако, ответ не был достаточно ясен для реализации за 1 секунду ^^;
Вот код, который вы хотели бы:
Если у вас есть соотношение всего окна (включая строку заголовка)
- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)frameSize {
frameSize.width = frameSize.height * 1.333;
return frameSize;
}
Если вы (как и я) хотите ограничить размер окна безучитывая строку заголовка.
- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)frameSize {
NSSize contentSize = [sender contentRectForFrameRect:NSMakeRect(0, 0, frameSize.width, frameSize.height)].size;
contentSize.height = contentSize.width * 0.75;
return [sender frameRectForContentRect:NSMakeRect(0, 0, contentSize.width, contentSize.height)].size;
}
Замените желаемое соотношение ширины и высоты вместо 1,333, а соотношение высоты / ширины вместо 0,75
Мой случай:
Мне нужно было соотношение iPad 1024/768 = 1,333 ...