[ios] iPhone에서 Return 키를 만드는 방법은 키보드를 사라지게합니까?

두 가지 UITextFields(예 : 사용자 이름 및 암호)가 있지만 키보드의 리턴 키를 눌러도 키보드를 제거 할 수 없습니다. 어떻게 할 수 있습니까?



답변

먼저 다음 UITextFieldDelegate과 같이 View / ViewController의 헤더 파일에서 프로토콜 을 준수해야합니다 .

@interface YourViewController : UIViewController <UITextFieldDelegate>

그런 다음 .m 파일에서 다음 UITextFieldDelegate프로토콜 메서드 를 구현해야합니다 .

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

    return YES;
}

[textField resignFirstResponder]; 키보드가 해제되었는지 확인합니다.

.m에서 텍스트 필드를 초기화 한 후 뷰 / 뷰 컨트롤러를 UITextField의 델리게이트로 설정했는지 확인하십시오.

yourTextField = [[UITextField alloc] initWithFrame:yourFrame];
//....
//....
//Setting the textField's properties
//....    
//The next line is important!!
yourTextField.delegate = self; //self references the viewcontroller or view your textField is on


답변

다음과 같이 UITextFieldDelegate 메서드를 구현합니다.

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


답변

이 주제에 대한 자세한 내용 은 키보드 관리를 참조하십시오 .


답변

UITextFields에는 위임 객체 (UITextFieldDelegate)가 있어야합니다. 대리자에서 다음 코드를 사용하여 키보드를 사라지게합니다.

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

지금까지 작동해야합니다 …


답변

몇 번의 시련을 겪었고 같은 문제가 있었는데 이것은 나를 위해 일했습니다.

-에서 철자를 확인하십시오.

(BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder];

나는 textField대신에 textfield“F”를 대문자로 수정 하고 빙고 !! 효과가 ..


답변

리턴 키를 누르면 다음을 호출하십시오.

[uitextfield resignFirstResponder];


답변

말이되는 것을 찾아 내는데 꽤 많은 시간을 보낸 후, 이것이 제가 모아 놓은 것이고 그것은 매력처럼 작동했습니다.

.h

//
//  ViewController.h
//  demoKeyboardScrolling
//
//  Created by Chris Cantley on 11/14/13.
//  Copyright (c) 2013 Chris Cantley. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController <UITextFieldDelegate>

// Connect your text field to this the below property.
@property (weak, nonatomic) IBOutlet UITextField *theTextField;

@end

.미디엄

//
//  ViewController.m
//  demoKeyboardScrolling
//
//  Created by Chris Cantley on 11/14/13.
//  Copyright (c) 2013 Chris Cantley. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController



- (void)viewDidLoad
{
    [super viewDidLoad];
    // _theTextField is the name of the parameter designated in the .h file. 
    _theTextField.returnKeyType = UIReturnKeyDone;
    [_theTextField setDelegate:self];

}

// This part is more dynamic as it closes the keyboard regardless of what text field 
// is being used when pressing return.  
// You might want to control every single text field separately but that isn't 
// what this code do.
-(void)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
}


@end

도움이 되었기를 바랍니다!