iOS/Swift 어플 따라하기

[Swift]SearchBar 키보드 내려주기, ViewController와 해야 할 일

Chafle 2022. 3. 24. 22:45
반응형
오늘은 SearchBar에서 발생하는 일들을 먼저 제어해 주도록 하겠습니다

 

SearchBar에서 검색한 결과는 ViewController에게 결과를 위임하여 수행한 일들을 표시할 수 있습니다.

ViewController와 Delgate설정을 해줘야 합니다. = UISearchBarDelegate

ViewController와 SearchBar, CollectionView를 연결하는 과정은 생략하도록 하고

 

오늘의 목표

 

1. 키보드가 올라와서 검색 눌렀을 때 키보드 내려가는 메서드 만들어주기
2. search버튼 눌렀을 때 ViewController에게 알려주고 키보드 내려주기 (1.을 이용하여)
3. 검색어가 없다면 값을 반환하지 않기

 

 

반응형

오늘의 목표 영상으로 먼저 감상하시죠

영상으로 먼저 감상하시죠.

 

1. 키보드가 올라와서 search버튼을 눌렀을 때 키보드 내려가게 하는 메서드 만들기

키보드를 내려주는 메서드를 따로 만들어주겠습니다.

private func dismissKeyboard() {

searchBar.resignFirstResponder()

}

//resignFirstResponder()는 검색페이지에 들어왔을 때 자동으로 keyboard가 FirstResponder로 돼있는데

그것을 사임하라 즉, 내려가라는 메서드입니다.

 

 

 


 

2.   search버튼 눌렀을 때 ViewController에게 알려주고 키보드 내려주기

func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {

         dismissKeyboard()

}

//searchBarSearchButton이 눌렸을 때 1.에서 만들어 놓은 resignFirstResponder를 실행하게끔 합니다.

 


 

3. 검색어가 없다면 값을 반환하지 않기

guard let searchTerm = searchBar.text,

              searchTerm.isEmpty == false else { return }

//searchBar에 text가 없다면 false로 반환하고 있으면 return시키라는 의미입니다.

 

 

 

 

 

 

반응형