使用带有UITextField的下一个和上一个按钮,与firstresponder有关

时间:2013-09-18 03:28:08

标签: ios cocoa-touch uiscrollview uitextfield first-responder

我正在使用scrollview的子类来移动键盘。 (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方法的第一行,它解决了问题。但问题是,由于我正在解散并同时访问下一个文本字段,因此屏幕会以一种时髦的方式聚焦。

当我关闭键盘时,我已尝试辞职第一响应者。但我认为我的滚动视图是在那之前计算的..任何想法该做什么= /

0 个答案:

没有答案