現在取り組んでいるプログラムでは、メインウィンドウのアスペクト比をロックして、一部の視覚要素の比率が維持されるようにしたいと思います。
AppDelegateクラスで次のことを行うことで、これを機能させることができました。
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
[window setAspectRatio:NSMakeSize(1.48, 1.0)];
}
ユーザーがウィンドウをドラッグするたびに、アスペクト比は予想どおりにロックされますが、1つの問題があります。アスペクト比に準拠する592x400のウィンドウサイズをIBで指定しましたが、アプリケーションの実行中にウィンドウのサイズを最初に変更しようとすると、ウィンドウの種類がすぐに新しい比率にスナップします。setAspectRatio:がウィンドウ上部のバーに取り込まれている可能性があるため、計算が混乱している可能性があります。
この問題に対する適切な回避策、または代替アプローチを知っている人はいますか?
また、setAspectRatioによって設定されたアスペクト比を尊重するプログラムでウィンドウのサイズを変更する別の方法はありますか?
以前、プログラムでサイズを変更するときは、次のものを使用していました。
[window setContentSize:NSMakeSize(592, 400)];
予想どおり、指定されたアスペクト比を無視することを確認するためにテストしました。
ありがとう!