0

I have an issue with the new Xcode 4.5 and iOS6. I have a form in my app with various textfields and pickers. I usually navigate through them with the Next key on the onscreen keyboard or pressing tab on my Mac, it seems something new affected the first responder because it doesn't work anymore:

-(UIResponder *)ValidarTextFieldwithCell:(UICellRegister *)Cell{
UIResponder* nextResponder;
UICellRegister *cell2;
NSIndexPath *nextIndexPath = [self nextIndexPath:Cell.MyIndexpath];
cell2= (UICellRegister *)[self.tableView cellForRowAtIndexPath:nextIndexPath];
nextResponder = cell2.Valor;
return nextResponder;
}


- (BOOL)textFieldShouldReturn:(UITextField *)textField   {


UICellRegister *myCell=(UICellRegister *)[[textField superview]superview];

UIResponder* nextResponder;


nextResponder = [self ValidarTextFieldwithCell:myCell];
if (nextResponder) {
    [nextResponder becomeFirstResponder];
} else {
    [textField resignFirstResponder];
    if ([self.parentViewController respondsToSelector:@selector(next:)]) {
        [((RegistroViewController *)self.parentViewController) next:nil];
    }
    if (![self.parentViewController isKindOfClass:[RegistroViewController class]]) {
        [self doneButtonPressed:nil];
    }
    [self animateView:NO withTextfield:nil];
    //        [self doneButtonPressed];
}
    return NO; // We do not want UITextField to insert line-breaks.
}

I'll appreciate any help.

4

1 回答 1

0

我设法解决了这个问题。我已经覆盖了在最后重新加载 tableview 的 textFieldEndEditing 方法(因为对当前单元格进行了验证),问题在于重新加载 tableview 是下一个字段没有成为第一响应者的原因。解决方案是仅重新加载我正在验证的单元格。

于 2012-09-27T17:16:35.270 回答