我在view1上放了txt1(NSTextFiled),txt2(NSTextField),tbl1(NSTableView),当光标在txt1时,我按TAB键,光标转到txt2.i想从我推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
. . .
}
我在view1中实现了pressTAB
方法,并在下面编写了代码
-(void)pressTAB
{
[[self.view window] makeFirstResponder:self.tbl1];
}
一切正常,代码正常运行但在此代码运行后,Xcode会自动将第一响应者更改为txt2。如何禁用自动TAB更改并从我的代码中执行此操作?
答案 0 :(得分:0)
您可以通过设置nextKeyView属性在代码中执行此操作(使用Xcode 4.2,它似乎无法在IB中执行此操作)。所以:
txt1.nextKeyView = tbl1;