ビュー1にtxt1(NSTextFiled)、txt2(NSTextField)、tbl1(NSTableView)を配置し、カーソルがtxt1にあるときにTABキーを押すとカーソルがtxt2に移動します.TABを押すと移動するコードから変更したいtbl1 (tbl1 がファーストレスポンダーになる)、次に txt1 をサブクラス化しcustomtext
、以下のコードを実装します。
- (BOOL)control:(NSControl*)control textView:(NSTextView*)textView doCommandBySelector:(SEL)commandSelector
{
BOOL result = NO;
if (commandSelector == @selector(insertTab:))
{
[self.delegate performSelector:@selector(pressTAB) withObject:nil ];
}//if
. . .
}
pressTAB
ビュー1にメソッドを実装し、コードの下に記述します
-(void)pressTAB
{
[[self.view window] makeFirstResponder:self.tbl1];
}
すべて問題なく、コードは正常に動作しますが、このコードを実行した後、Xcode は自動的にファーストレスポンダを txt2 に変更します。自動タブ変更を無効にして、コードからそれを行うにはどうすればよいですか?