Я хотел бы иметь NSWindow, которое имеет отношение ширины к высоте 2: 1, когда оно открыто, но позволяет ему иметь любое соотношение в полноэкранном режиме.
Я изначально устанавливаю соотношение контента в AppDelegate
следующим образом:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[[self window] setContentAspectRatio:NSMakeSize(2, 1)];
}
, а затем установите и восстановите его в NSWindowDelegate
окна следующим образом:
- (void)windowWillEnterFullScreen:(NSNotification *)notification
{
NSWindow *window = [notification object];
[window setContentResizeIncrements:NSMakeSize(1, 1)];
}
- (void)windowDidExitFullScreen:(NSNotification *)notification
{
NSWindow *window = [notification object];
[window setContentAspectRatio:NSMakeSize(2, 1)];
}
Я думаю, что это работает, но я не уверен, что AppDelegate
- правильное место для настройки размера окна. Я пытался найти метод в делегате окна в соответствии с windowDidLoad:
, но я не вижу, какой из них применим. В идеале я бы установил соотношение контента только в одном месте.
Куда я должен поместить код инициализации для каждого окна, как этот?