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시키라는 의미입니다.
반응형