NSViewに合うようにNSWindowのサイズを変更できません。 1つのアクションでは動作しますが、ロジックエラーでなければなりません。NSWindowはNSViewに合わせてサイズ変更されません - 何度か?
私は1つのNSWindowを空にし、3つのNSViewをコンポーネントで、サイズが異なります。
[_window setContentSize:_mainView.frame.size];
[_window setContentView:_mainView];
このコードは正常に動作します:私はNSViewのに合わせて、それを表示するには、NSWindowのサイズを変更し、次のコードで
。
しかし、1つのNSViewには戻るボタンがあり、NSWindowに正しいNSViewが表示されている間に、NSViewはそのサイズを戻しません。一例として、最初のウィンドウは特定のサイズで、別のビューに切り替えるにはクリックし、正しくサイズを変更し、戻るボタンを押すとNSViewが表示されますが、ウィンドウは同じサイズのままですか?
NSWindowの元に戻ったときにNSWindowのサイズを変更しないのはなぜですか?
ありがとうございます。これは私が持っている完全なコードです:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[_window setContentSize:_mainView.frame.size];
[_window setContentView:_mainView];
}
- (IBAction)switchSubtractionView:(id)sender {
[_window setContentSize:_subtractionView.frame.size];
[_window setContentView:_subtractionView];
}
- (IBAction)switchAdditionView:(id)sender {
[_window setContentSize:_additionView.frame.size];
[_window setContentView:_additionView];
}
// -----------------------------------------------------------------------
// THE FOLLOWING METHOD DISPLAYS THE NEW VIEW CORRECTLY BUT DOESN'T RESIZE
// -----------------------------------------------------------------------
- (IBAction)switchMainMenu:(id)sender {
[_window setContentSize:_mainView.frame.size];
[_window setContentView:_mainView];
}
ありがとうございました。
EDIT:VIEW.frame.sizeを取得すると、これが繰り返し使用されると、その値は失われますか?これは私にとっては非常に奇妙な行動ですね?
返信いただきありがとうございますが、何を意味するのか理解できません。 _mainView、_additionViewなどをNSViewsとして設定しました。新しいディスポーザブルNSViewを作成するにはどうすればいいですか?もう一度お返事します – Cristian
'NSView * view = [[NSView alloc] initWithSize:someSize]; ' –
答えを正しく理解すれば、デフォルトのサイズの新しいNSViewを作成してから、ビューを必要なビューに変更してから変更しますサイズ? – Cristian