2012-11-14 4 views
-2

UITextField에 대한 대리자를 구현했으며이 텍스트 필드에도 메서드를 구현했습니다. 아래 방법은 다음과 같습니다uitextfield에 텍스트를 입력하는 방법

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    [textField resignFirstResponder]; 
} 



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

    [aTextField resignFirstResponder]; 
    return YES; 
} 

내 문제는 내가 UITextField에 텍스트를 입력 할 때 그 대리인이 나를 텍스트 필드에 텍스트를 입력 할 수 없다는 것입니다. 어떻게하면 텍스트 필드에 데이터를 입력 할 수 있는지 알 수 있습니다.

답변

2

textFieldDidBeginEditing 코드를 제거하십시오.

[textField resignFirstResponder]; 

은 텍스트 필드에 키보드가 더 이상 필요하지 않음을 앱에 알립니다.

그래서 당신은

내가 텍스트 필드를 편집을 시작

, 키보드를 숨기고 텍스트 필드를 편집을 중지 ... 말하고있다. 당신이 텍스트 필드에 탭하면 당신은 또한 추가 할 필요가

...

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 
{ 
    return YES; 
} 
+0

저는 텍스트 필드를 대리인과 연결했습니다. 나는이 방법을 제거한다. 여전히 작동하지 않는다. 텍스트 필드에 텍스트를 입력 할 수 없다. – adnan

+0

델리게이트로 설정하는 ViewController에서 프로토콜을 구현 했습니까? – Fogmeister

+0

예이 프로토콜을 구현합니다. – adnan

2

- (void)textFieldDidBeginEditing:(UITextField *)textField 대리자 메서드를 먼저 작동합니다.

다음과 같은 위임 방법으로 키보드를 닫으십시오 : [textField resignFirstResponder]; 해당 행을 제거하십시오. 다 괜찮을거야.

+0

나는 그 줄 문제가 여전히 거기에 텍스트를 입력 할 수 없습니다 제거했습니다 – adnan

+0

@adnan 키보드가오고 있습니까? 시작하지 않을 경우'[textField becomeFirstResponder]'를 추가하십시오. –

관련 문제