3

キーボードを邪魔にならないように移動するスクロールビューのサブクラスを使用しています。( 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メソッドの最初の行に問題を解決します。しかし、問題は、次のテキストフィールドを同時に閉じてアクセスしているため、画面がファンキーな方法でフォーカスされることです。

キーボードを閉じたときにファーストレスポンダーを辞任しようとしました。しかし、私のスクロールビューはその時点より前に計算されていると思います..何をすべきか=/

4

0 に答える 0