このボードの人々の素晴らしい助けを借りて、私はほとんど私の学生のために私のアプリをやっている!前と次のボタンがあるキーボード上にツールバーを表示させることができました。私は3つの入力フィールドの間にボタンを移動させました。他のボタンを有効にしないUIButton
ユーザーが最初のフィールドで開始した場合、前の/次のボタンを使用した場合と同じように、すべてのフィールド間を行き来することができます。ただし、ユーザーがテキストフィールド3にいて、最初のフィールドをクリックした場合、ボタンは元の状態のままになり、その後正しく機能しません。私のキーボードコードで
-(void)keyboardWillShow:(id)sender{
if ([inputA isFirstResponder]) {
[nextButton setEnabled:YES];
[previousButton setEnabled:NO];
} else if ([inputB isFirstResponder]) {
[nextButton setEnabled:YES];
[previousButton setEnabled:YES];
} else if ([inputC isFirstResponder]) {
[nextButton setEnabled:NO];
[previousButton setEnabled:YES];
}
}
...次のテキストフィールドを循環
-(void)nextField:(id)sender{
if ([inputA isFirstResponder]) {
[inputB becomeFirstResponder];
[previousButton setEnabled:YES];
[nextButton setEnabled:YES];
} else if ([inputB isFirstResponder]) {
[inputC becomeFirstResponder];
[previousButton setEnabled:YES];
[nextButton setEnabled:NO];
} else if ([inputC isFirstResponder]) {
[inputB becomeFirstResponder];
[previousButton setEnabled:YES];
[nextButton setEnabled:YES];
}
}
...前のテキストフィールドを循環
-(void)previousField:(id)sender{
if ([inputC isFirstResponder]) {
[inputB becomeFirstResponder];
[nextButton setEnabled:YES];
[previousButton setEnabled:YES];
} else if ([inputB isFirstResponder]) {
[inputA becomeFirstResponder];
[nextButton setEnabled:YES];
[previousButton setEnabled:NO];
} else if ([inputA isFirstResponder]) {
[inputB becomeFirstResponder];
[nextButton setEnabled:YES];
[previousButton setEnabled:YES];
}
}
、前のボタンはpreviousFieldを呼び出し、次のボタンはnextFieldを呼び出します。私はkeyboardWillShowを実行したときに、最初の応答者としてさまざまな入力を設定していたと考えましたが、これは最初の実行時のみです。
ユーザーがフィールドをクリックして最初の応答者になるようにする方法はありますか?
ありがとうございます。私はDRYステートメントが好きです!将来的にはそれについて間違いなく考えます。私は今夜コードを試して、それを機能させることができるかどうかを見ます。再度、感謝します! – Douglas
それは働いた!しかし、私はこれで新しいので、別の質問があります。私のペン先について話すとき、私はそれについては分かりません。私はXcode 4.3を使用していますが、どこにでもペン先が表示されません。私はストーリーボード上にいるときに、editdidegeginの横にあるボタンをストーリーボードにドラッグすることができますが、キーボードに接続する方法はわかりません。アイデアありがとう! – Douglas
申し訳ありませんが、NIBファイルはストーリーボードのコンセプトの前身です。私の提案を5.xの現代の世界に正しく翻訳しました!あなたはcontroldidegeginからviewControllerにコントロールをドラッグすると、SentEventに接続するオプションが表示されますkeyboardWillShow – mackworth