728x90
반응형
Swift로 자동완성 기능 구현하기
참고 자료 : https://blog.apoorvmote.com/add-uisearchcontroller-to-tableview/?lang=ko
- 필요한 것 : TableViewController, UISearchController
이전에는 UISearchDisplayController가 있었는데 iOS 8.0 이후 deprecated되었다
'자동완성'이라고 검색하면 아이폰에 내장된 자동완성 기능 관련한 글이 많아서 찾기 힘들었는데 ㅠ 그래도 나왔다! 다행히 프레임워크나 라이브러리없어도 충분히 가능한 것이었다
테이블뷰는 데이터를 뿌리기위해 필요했기 때문에 기타 다른 뷰에도 출력할 수 있을 것이라 생각한다
위의 사이트에는 다소 변역이 제대로 안되어있당
시작
- SingleView Application 생성
- Storyboard로 이동 후 ViewController삭제, TableViewController 끌어놓기
- tableView의 cell을 선택하여 identifier를 정의해준다 (안하거나 추후 swift파일에 작성한 id와 다르면 오류 발생함) (사진)
- UITableViewController를 Subclass로 설정하여 새로운 파일을 생성한다(File>New>File>Cocoa Touch Class)
- Storyboard에서 TableViewController를 선택한 뒤, identity inspector에서 Class를 연결해준다
파일 작성
sample data와 UISearchController 뷰 만들기
viewDidLoad()에서 resultSearchController 초기화 세팅작업 사이트의 함수명과 조금 달라졌으나 동일한 함수이다
tableview setting
4.
클래스에 UISearchResultsUpdating
추가 후 아래 함수에 내용 작성하기
- updateSearchResults()는 UISearchResultsUpdating 클래스의 required 함수
Called when the search bar becomes the first responder or when the user makes changes inside the search bar.
search bar가 응답받거나 내부 변화가 있을 때 호출된다
완성!
반응형
'Programming > iOS' 카테고리의 다른 글
[IOS/SWIFT3.0] UIScrollView Programmatically in Swift3.0 (0) | 2017.08.25 |
---|---|
[ios/Swift3.0] TextView re-positioning when keyboard shown (0) | 2017.08.25 |
[iOS/Swift] Auto Login 기능 구현(자동 로그인, UserDefaults 사용) (2) | 2017.08.05 |
[iOS/Swift] URLSession, URLRequest, Alamofire, SwiftyJSON 라이브러리를 사용한 HTTP 통신 예제 (2) | 2017.08.05 |
[iOS/Swift] cocoapods 설치하기 (0) | 2017.08.04 |