UISearchController 용 사용자 정의 UITableViewController는 search 컨트롤러를 navigationItem.searchController로 설정할 때 iOS 11에서 검색 막대를 오버레이합니다. 테이블 뷰 컨트롤러는 전체 화면을 가리지 않으므로 입력하는 동안 검색 막대를 볼 수 없습니다. 이것은 UISearchController에 nil을 보낼 때 문제가되지 않습니다. 기본적으로,이지도 응용 프로그램에 대한 검색 표시 줄이 있으므로 위치를 검색 할 때 검색 결과의 표시를 처리하기 위해 UITearchViewroller에 UITableViewController를 설정합니다. 이전에는 표보기가 검색 막대의 맨 아래에 표시되어 이제 전체 화면을 다룹니다.UISearchController 용 사용자 정의 UITableViewController는 iOS 11의 검색 막대를 오버레이합니다.
searchController = UISearchController(searchResultsController: searchResultsController)
searchController.searchBar.sizeToFit()
searchController.hidesNavigationBarDuringPresentation = true
searchController.dimsBackgroundDuringPresentation = true
searchController.definesPresentationContext = false
searchController.searchResultsUpdater = self
searchController.delegate = self
if #available(iOS 11.0, *){
self.navigationItem.searchController = searchController
}