2011-03-03 22 views
1

私は、NSBordelessWindowMaskで全面ボーダーレスウィンドウに作られたカスタムサブクラス化NSWindowを持っています。それは完璧に動作し、私が見る限りでは、ウィンドウ自体について何の問題も何も奇妙ではありません。カスタムフルスクリーンNSWindow内で奇妙なサイズ変更がありますか?

上記のウィンドウ内のカスタムサブクラス化されたNSViewが、setFrame:要求に奇妙な形で再ポストされる理由を理解しようとしています。例えば、x座標を25に、幅を800に設定しても、ビューの右端が期待通りに825に置かれないなど、何らかの変更が行われているように見えます。 。代わりに、[view frame] .size.widthによってNSLogで尋ねられたときに適切な数値が報告されますが、幅と高さはx座標とy座標とともに増加します。

私はそれらを完全に無効にし、いくつかの異なる構成で同じ結果を得るので、サイジングマスクは問題ではありません。

他の誰かがこのタイプの動作を経験していますか?

+0

いくつかのコードを投稿して、ウィンドウとビューの作成方法を確認できますか? –

答えて

0

ウィンドウ/ビューの作成に使用しているコードが表示されていないと、これを引き起こしている可能性があります。つまり、後でLeopardをターゲットに設定する場合は、ビューを全画面表示にして助けになるような方法が組み込まれています。この方法はNSViewのenterFullScreenMode:withOptions:です。ウィンドウ全体をフルスクリーンにしたい場合は、ウィンドウのcontentViewでこれを呼び出すことができます。これはあなたのバグを修正することはできませんが、少しでも簡単にする必要があります。

関連する問題