본문 바로가기

프로그래밍/iOS

iOS 키보드 숨기는 방법

1. resignFirstResponder 사용
  - textView에서 직접적으로 사용해야 함

//사용법
[textView resignFirstResponder];


2. endEditing:(BOOL)force 사용
  - textView를 포함하는 뷰에서 사용하여도 하위 뷰들의 키보드 처리를 알아서 해줌
  - 매개변수는 optionally한 값으로 강제 처리에 관련된 값이다.

- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self.view setBackgroundColor:[UIColor grayColor]];
    
    UITextView *txtView = [[UITextView alloc] initWithFrame:CGRectMake(100.0f, 100.0f, 100.0f, 30.0f)];
    [self.view addSubview:txtView];
    
    UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(100.0f, 150.0f, 100.0f, 50.0f)];
    [button addTarget:self action:@selector(touchActionButton:) forControlEvents:UIControlEventTouchUpInside];
    [button setBackgroundColor:[UIColor redColor]];
    [self.view addSubview:button];
}

- (void)touchActionButton:(id)sender {
    //self.view에 포함되어있는 txtView의 키보드를 강제로 숨김.(resignFirstResponder)
    [self.view endEditing:YES];
}