2012-10-10 4 views
0

여기에서 찾은 @PeyloW 코드를 사용하려고합니다. How to navigate through textfields (Next/Done Buttons) 그러나 키보드를 누르면 반환 버튼이 표시되지 않습니다. 내 태그는 괜찮습니다.텍스트 필드를 통해 이동

헤더 :

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

구현 :

- (BOOL)textFieldShouldReturn:(UITextField*)textField { 
    NSInteger nextTag = textField.tag + 1; 
    UIResponder* nextResponder = [textField.superview viewWithTag:nextTag]; 

    if (nextResponder) { 
     [nextResponder becomeFirstResponder]; 
    } else { 
     [textField resignFirstResponder]; 
    } 
    return NO; 
} 

나는 무엇을 놓치고? 내 키보드가 다음에 완료되지 않고 반환 만됩니다. 나는 iOS에 대해 아주 새로운 것을 기억한다.

편집 :

나는 그것에 중단 점을 추가하여 코드를 디버깅하기 위해 노력하고 코드가 트리거되지 않습니다.

답변

2

태그가 포함 된 솔루션을 좋아하지 않습니다. 대신 모든 입력 파일을 원하는 순서대로 배열에 넣고 -textFieldShouldReturn:에 주어진 텍스트 필드를 사용하여 배열의 인덱스를 가져옵니다. 그 색인에서 물건을 얻는 것보다.

- (BOOL)textFieldShouldReturn:(UITextField*)textField { 
    NSUInteger nextIndex = [arrayWithResponders indexOfObject:textField]+1 % [arrayWithResponders count]; 
    UIResponder* nextResponder = [arrayWithTextFields objectAtIndex: nextIndex]; 

    if (nextResponder) { 
     [nextResponder becomeFirstResponder]; 
    } else { 
     [textField resignFirstResponder]; 
    } 
    return NO; 
} 

당신은 너무, 중단 점 트리거이 arent, 당신이 대리자를 설정 didnt한다 대부분 덧붙였다.

+0

코드가 실행되고 있지 않습니다. 무엇이 될 수 있습니까? – lolol

+0

어떻게하면됩니까? 나는 iOS에 매우 익숙하다. – lolol

+1

여기를 참고하십시오 : http://stackoverflow.com/questions/10287131/textfieldshouldreturn-is-not-called – vikingosegundo

관련 문제