NSViewControllerの使用とビューの切り替えについて質問があります。私は窓のあるCocoaアプリケーションを持っています。ウィンドウの考え方は、各ビューが個別のXIBファイルに保存されている複数のビューを1つずつ表示することです。各ビューには、対応するNSViewControllerがあります。最初のビューのみがロードされる場合に行っていることの最小限の例を作成しました。
@interface MyWindowController : NSWindowController {
NSViewController *currentViewController;
}
@property (assign) IBOutlet NSView *targetView;
@end
@implementation MyWindowController
@synthesize targetView;
- (id)init
{
return [super initWithWindowNibName:@"MyWindow"];
}
- (void)dealloc
{
[currentViewController release];
[super dealloc];
}
- (void)windowDidLoad
{
[super windowDidLoad];
currentViewController = [[NSViewController alloc] initWithNibName:@"FirstView" bundle:nil];
[self.targetView addSubview:currentViewController.view];
[currentViewController.view setFrame:targetView.bounds];
}
@end
ウィンドウがロードされると、FirstView.xibからのビューもロードされ、ビューがウィンドウに表示されます。この場合、ロードされたビューにはテキストフィールドしかなく、ユーザーがクリックしなくても入力を直接書き込むことができるようにテキストフィールドを強調表示したいのですが、その方法がわかりません。ビューの読み込み時にテキストフィールドを選択することはできますか?
ドキュメントを読んだ後、おそらくウィンドウのinitialFirstResponderをテキストフィールドに設定したいことがわかりましたが、テキストフィールドがウィンドウとは異なるXIBファイルにある場合はその方法がわかりません。