2016-04-01 7 views
1
  • を無視され、フォーカスは/NSTextField nextKeyViewが

  • が確認され、「自動再計算ビュー・ループ」を試してみました異なるNSTextFieldで

  • 切り替える「フルチェックを外す得られますキーボードアクセス」

0123にタブをキャッチしようとしました

コード 'タブ' が働い引く一方で、はい/いいえ、疲れがselectText:NSTextFieldを選択していない成功

+0

をリンクするには、タブ・キーがヒットしたときに '修正self.nextKeyView'ですか?後方タブ(シフトタブ)は機能しますか? – Willeke

+0

うん、確かに正しい –

答えて

0

[self.window makeFirstResponder:self.nextKeyView] 

として次のレスポンダを設定するために戻って

あり
- (BOOL)control:(NSControl*)control textView:(NSTextView*)textView doCommandBySelector:(SEL)commandSelector { 

     BOOL result = NO; 

     if (commandSelector == @selector(insertTab:)) { 

      // tab action: 
      result = NO; 

     } 

     return result; 
    } 

あなたはnextKeyView

に純粋に依存することはできません...(あなたがタブを処理しているされている意味、YES返却する必要があり注意してください)

あなたNSTextFieldサブクラスでこれを入れて、nextKeyView

- (BOOL)control:(NSControl*)control textView:(NSTextView*)textView doCommandBySelector:(SEL)commandSelector 
{ 
    BOOL result = NO; 

    if (commandSelector == @selector(insertTab:)) { 

     // tab action: 
     // always insert a tab character and don’t cause the receiver to end editing 
     if ([self.nextKeyView isKindOfClass:[NSTextField class]]) { 

      [(NSTextField *)self.nextKeyView selectText:self]; 
      result = YES; 

     } else { 

      //[textView insertTabIgnoringFieldEditor:self]; 
      result = NO; 

     } 

    } 

    return result; 
}