1

하나의보기 컨트롤러에 세 개의 텍스트 필드가 있으며 세 개의 텍스트 필드 모두에 대해 키보드를 닫는 방법을 수행하면보기 컨트롤러가 나타나지 않습니다.여러 텍스트 필드의 모든 키보드를 닫는 방법?

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.namesuite.delegate = self; 
    self.createpassword.delegate = self; 
    self.createname.delegate = self; 
    // Do any additional setup after loading the view. 
} 

또한 textFieldShouldReturn 기능이 있습니다.

-(BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    [textField resignFirstResponder]; 
    return YES; 
} 

이것은 텍스트 필드가있는보기 컨트롤러로 나를 보내는 나의 버튼 기능입니다.

- (IBAction)createaccount:(id)sender 
{ 
    [self performSegueWithIdentifier:@"thirdsegue" sender:sender]; 
} 
+0

keyboardFieldShouldReturn 함수를 확인하기위한 디버깅은 키보드에서 돌아 가기를 클릭 할 때 호출됩니까? – HoanNguyen

+0

UITextFieldDelegate 및 UITextInputDelegate 프로토콜 모두를 확인했는지 확인하십시오. – MrHaze

+0

"보기 컨트롤러가 나오지 않습니다"라는 것은 무엇을 의미합니까? – rmaddy

답변

4

도움이 될 것입니다. 이 시도 :이 도움이

[self.view endEditing:YES]; 

희망을 .. :)

+0

누가 이유를 설명 할 수 있습니까? – Rashad

+0

나는 10 개의 textField를 가지고있었습니다. 첫 번째 응답자를 사임하는 것은 큰 고통이었습니다. 이 한 개의 라이너는 나를 위해 시간을 절약했습니다. 라샤드에게 감사 드려요. – Alix

+0

@Alix> 환영합니다. 잘 듣고 .. :) – Rashad

0

시도 :

-(BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    [self.namesuite resignFirstResponder]; 
    [self.createpassword resignFirstResponder]; 
    [self.createname resignFirstResponder]; 

    return YES; 
} 

또는

-(BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    if (textField == self.namesuite) 
    { 
     [self.namesuite resignFirstResponder]; 
    } 
    else if (textField == self.createpassword) 
    { 
     [self.createpassword resignFirstResponder]; 
    } 
    else if (textField == self.createname) 
    { 
     [self.createname resignFirstResponder]; 
    } 

return YES; 
} 
+0

나는 두 가지를 시도해 본 결과, 돌아올 때 여전히 멀어지지 않습니다. : – user3462406

+0

다음보기로 넘어가려면 추가 코드를 보여주세요 여기가 어디입니까? –

+0

방금 ​​게시했습니다 – user3462406

관련 문제