キーボードを邪魔にならないように移動するスクロールビューのサブクラスを使用しています。( TPKeyboardAvoidingScrollView
)
これは、次のボタンと前のボタンの実装と競合していると思います。私はinputaccessoryviewを構築しました
各フィールドの次と前のテキストフィールドを設定するカテゴリがあります
テキストフィールドを編集するとき、現在、前、および次のテキストフィールドを設定します
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
_currentTextField = textField;
_prevTextField = [textField prevTextField];
_nextTextField = [textField nextTextField];
return YES;
}
次または前をクリックすると、このメソッドが呼び出されます
- (void)selectAdjacentResponder:(id)sender{
UISegmentedControl *segmented = sender;
if(segmented.selectedSegmentIndex == 0){
[_prevTextField becomeFirstResponder];
} else {
[_nextTextField becomeFirstResponder];
}
}
これは正常に動作します..しかし、キーボードを閉じると。私のスクロールビューがめちゃくちゃです。行を追加すると
[_currentTextField resignFirstResponder];
私のselectadjacentメソッドの最初の行に問題を解決します。しかし、問題は、次のテキストフィールドを同時に閉じてアクセスしているため、画面がファンキーな方法でフォーカスされることです。
キーボードを閉じたときにファーストレスポンダーを辞任しようとしました。しかし、私のスクロールビューはその時点より前に計算されていると思います..何をすべきか=/