設定したウィンドウがありますsetContentBorderThickness:42 forEdge:NSMinYEdge
。
これで[[window contentSize] frame]
、ウィンドウのサイズ(タイトルとボタンのあるトップバーを除く)が表示されますが、境界線の太さの42が差し引かれることはありません。
空の領域の適切な寸法を取得するにはどうすればよいですか?
設定したウィンドウがありますsetContentBorderThickness:42 forEdge:NSMinYEdge
。
これで[[window contentSize] frame]
、ウィンドウのサイズ(タイトルとボタンのあるトップバーを除く)が表示されますが、境界線の太さの42が差し引かれることはありません。
空の領域の適切な寸法を取得するにはどうすればよいですか?
ではなく、を使用する必要contentSize
がありcontentView
ます。また、42ピクセルの高さのBorderThicknessを使用する場合は、次のようにウィンドウビューの高さからその高さを差し引くだけではありません。
NSRect windowFrame = [[window contentView] frame];
windowFrame.size.height = windowFrame.size.height - [window contentBorderThicknessForEdge:NSMinYEdge];
NSLog(@"TRUE height: %f",windowFrame.size.height);