2

つまり、2つのテキストボックスがあります。たとえば、TextBox1とTwoBox2です。ViewdidloadTextBox1で私は使用しています

 [self.TextBox1 becomeFirstResponder];

次に、仮想キーボードの[次へ]ボタンを押したときにカーソルをTextBox2に移動する方法

4

2 に答える 2

7

Cocoa for Mac OS Xには、次のレスポンダーチェーンがあります。ここで、テキストフィールドに、次にフォーカスする必要のあるコントロールを尋ねることができます。これにより、テキストフィールド間のタブが機能します。しかし、iPhoneにはキーボードがなく、タッチするだけなので、このコンセプトはCocoaTouchへの移行を乗り越えていません。

これは、次の2つの前提条件で、とにかく簡単に実行できます。

すべての「タブ可能な」UITextFieldsは同じ親ビューにあります。それらの「タブ順序」は、タグプロパティによって定義されます。これを想定すると、textFieldShouldReturnをオーバーライドできます:次のように:

-(BOOL)textFieldShouldReturn:(UITextField*)textField;
{
 NSInteger nextTag = textField.tag + 1;
  // Try to find next responder
 UIResponder* nextResponder = [textField.superview viewWithTag:nextTag];
 if (nextResponder) {
  // Found next responder, so set it.
  [nextResponder becomeFirstResponder];
 } else {
 // Not found, so remove keyboard.
  [textField resignFirstResponder];
 }
 return NO; // We do not want UITextField to insert line-breaks.
 }

さらにコードを追加すると、仮定も無視できます。

于 2012-11-05T15:13:18.903 に答える
3

[次へ]ボタンのコールバックで、次を使用します。

 [self.TextBox2 becomeFirstResponder];

簡単!

于 2012-11-05T15:10:00.647 に答える