2

OS X アプリケーションを作成していて、ウィンドウの高さと幅の 100% をカバーする Web ビューにビデオ プレーヤーがあります。プレーヤーは 16:9 形式で、広告とプレーヤー コントロールの高さは 92 ピクセルです。

そこで、ウィンドウの縦横比を設定して、ユーザーがウィンドウのサイズを変更したときに、余分な 92 ピクセルの高さを含めて、ビデオの縦横比が維持されるようにします。

現時点では、私は使用しました;

[window setAspectRatio:window.frame.size];

しかし、明らかにこれは 92px の定数にも比例して追加されるため、ビデオ プレーヤーのアスペクト比が変更されます。

誰かがここで私を助けてくれますか?

4

1 に答える 1

2

これは、オブジェクトをウィンドウのデリゲートとして設定し、を実装するのと同じくらい簡単windowWillResize:toSize:です。ウィンドウは提案された新しいサイズを通過します。デリゲートは異なるサイズを返すことができ、ウィンドウはそれを使用します。

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

    return (NSSize){newWidth, newHeight};
}
于 2011-11-15T20:49:59.520 に答える