Как [установить в окне AspectRatio: размер] по оси, формат y + 92 - PullRequest
2 голосов
/ 15 ноября 2011

Я создаю приложение OS X, и у меня есть видеоплеер в веб-представлении, который покрывает 100% высоты и ширины окна. Плеер имеет формат 16: 9, плюс 92 пикселя в высоту для рекламы и плеера. управление.

Поэтому я хочу установить соотношение сторон окна, чтобы при изменении размера окна пользователь сохранял соотношение сторон видео, , включая дополнительные 92 пикселя в высоту.

на данный момент я использовал;

[window setAspectRatio:window.frame.size];

Но очевидно, что это также пропорционально добавляет к константе 92px и, таким образом, изменяет соотношение сторон видеоплеера.

Может ли кто-нибудь помочь мне здесь?

1 Ответ

2 голосов
/ 16 ноября 2011

Это так же просто, как установить объект как делегат окна и реализовать windowWillResize:toSize:. Окно передает предложенный новый размер; делегат может вернуть другой размер, и окно будет использовать его.

- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)frameSize 
{
    CGFloat newWidth = frameSize.width;
    CGFloat newHeight = ((newWidth / 16) * 9) + 92;

    return (NSSize){newWidth, newHeight};
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...