我正在使用将键盘移开的滚动视图的子类。( 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 方法的第一行,它解决了这个问题。但问题是它以一种时髦的方式使屏幕聚焦,因为我同时关闭并访问下一个文本字段。
当我关闭键盘时,我曾尝试让第一响应者辞职。但我认为我的滚动视图是在那之前计算的..知道该怎么做=/