2010-07-05 3 views
0

사용자가 아무 키나 누르면 텍스트 필드에서 텍스트를 가져와야합니다. 알림을 사용하려고하지만 UITextFieldTextDidChangeNotification을 사용하여 텍스트를 가져 오지만 성공할 수 없습니다. 누군가 texfield에서 텍스트를 변경하는 방법을 안내해 줄 수 있습니까? 텍스트 필드가 uitableview 안에 있습니다. 미리 감사드립니다.uitexfield에서 텍스트 변경하기

답변

0

가장 쉬운 방법은 AtomRiots answer을 사용하는 것입니다. 텍스트 필드에서 텍스트를 가져 오는 것은 텍스트 필드 대리자가 사용하는 것입니다. 테이블의 텍스트 필드조차도 인터페이스의 각 텍스트 필드마다 다른 위임 객체를 설정할 수 있습니다.

어떤 이유로 든 임의의 개체가 텍스트 변경을 처리하기를 원하면 알림을 위해 개체 (자체)를 등록합니다.

모든 텍스트 필드의 모든 UITextFieldTextDidChangeNotification을 수신 할 경우

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(handleTextDidChange:) 
              name:UITextFieldTextDidChangeNotification 
              object:nil]; 

특정 필드

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(handleTextDidChange:) 
              name:UITextFieldTextDidChangeNotification 
              object:aPointerToATextFieldObj]; 
0

당신은 그들이, 편집을 시작할 때를 위해

- (void)textFieldDidBeginEditing:(UITextField *)textField 

를 사용할 수 있습니다 또는 모든 시간이

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 

그들이 때를위한 키보드의 키를 누르거나

- (void)textFieldDidEndEditing:(UITextField *)textField 

충돌 textviews 첫 번째 응답자가 사임됩니다.

테이블 뷰를 채울 때 태그를 지정하면 개별 텍스트 필드를 추적 할 수 있습니다. 그러면 변경할 텍스트 필드를 알 수 있습니다.

+0

오에 대한 모든 알림을 수신하려면, 물론 당신이 필요합니다 들을 수 있도록 UITextFieldDelegate를 확장하고 텍스트 필드의 대리자를 설정합니다. – AtomRiot

+0

안녕하세요 원자, thankx 답장을 보내 주셔서 감사합니다. 나는 약 20 textboxes uitableview, 그래서 사용자가 텍스트 상자를 채우고 아래로 스크롤 할 때 이전 텍스트 상자가 제거됩니다 및 나는 마지막 텍스트 상자에서 텍스트를 가져 오려고 할 때 donot textboxes 얻을 - (void) textFieldDidEndEditing : (UITextField *) textField – pankaj