1

これが本当に基本的な質問である場合は申し訳ありませんが、私はXCodeとMacの開発全般に不慣れです。新しいウィンドウを開いたり閉じたりせずに、ウィンドウの内容を変更する方法を知りたいです。例えば:

- (IBAction)handlelock:(id)sender {
  [_window orderOut:sender];
  [_loginwindow makeKeyAndOrderFront:sender];
}  

しかし、_windowを閉じて_loginウィンドウを開くのではなく、ボタンをクリックしたときに_windowに_loginの内容を表示させる方法はありますか?

4

2 に答える 2

2

または、ウィンドウのコンテンツ ビューを入れ替えるだけです。

- (IBAction)handlelock:(id)sender {
     NSView *previousContentView = _window.contentView;
     _window.contentView = _loginwindow.contentView;
     _loginwindow.contentView = previousContentView; // just store it in the other window
} 

通常、これには複数のウィンドウは必要ありませんが、別のビューを用意して入れ替えるだけです。

于 2012-07-22T15:51:01.420 に答える
1

これを行うにはいくつかの方法があります。ログインウィンドウに必要なものを含む xib ファイルに別のビューを作成し、ウィンドウで setContentView:loginView を呼び出すと、古いビューが新しいビューに置き換えられます。元のビューに戻すことができるようにする場合は、元のビューを指すプロパティが必要です。

もう 1 つの方法は、タブ ビューを使用することです。タブ ビューの外観が気に入らない場合は、タブがないように見えるテーブルのタブビューがあります。1 つのタブに 1 つのビューがあり、別のログインビュー。

于 2012-07-22T15:31:22.797 に答える