0

新しいXcode4.5とiOS6に問題があります。アプリにさまざまなテキストフィールドとピッカーを備えたフォームがあります。私は通常、オンスクリーンキーボードの[次へ]キーまたはMacの[タブ]を押してそれらをナビゲートしますが、機能しなくなったため、ファーストレスポンダーに何か新しい影響があったようです。

-(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.
}

助けていただければ幸いです。

4

1 に答える 1

0

私はなんとか問題を解決することができました。最後にテーブルビューをリロードするtextFieldEndEditingメソッド(現在のセルで行われる検証のため)をオーバーライドしましたが、テーブルビューのリロードが次のフィールドが最初のレスポンダーにならない原因であるという問題がありました。解決策は、検証していたセルのみをリロードすることでした。

于 2012-09-27T17:16:35.270 に答える