검색 제어기의 제 발표 이후 범위 바 I 셋업 검색에 사용하고있는 코드는 숨겨 컨트롤러아이폰 OS (11)는 I 여기</p> <p>아이폰 OS (11)의 범위 막대와 함께 검색 창을 표시하는 <code>UISearchController</code>를 사용하는 것을 시도하고
let searchController = UISearchController(searchResultsController: nil)
searchController.delegate = self
navigationItem.searchController = searchController
navigationItem.hidesSearchBarWhenScrolling = false
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
searchController.searchBar.showsScopeBar = true
searchController.searchBar.scopeButtonTitles = ["1", "2", "3", "4"]
searchController.searchBar.delegate = self
definesPresentationContext = true
언제나 볼 수있는 검색 표시 줄이 필요합니다. 위의 코드는보기 컨트롤러가로드 될 때 제대로 작동하며 범위 막대와 함께 검색 창을 표시합니다.
하지만 일단 검색 컨트롤러가 활성화되고 해체되면 iOS는 검색 컨트롤러를 닫을 때 스코프 바를 숨기고 검색 창만 표시합니다.
didDismissSearchController
에 다음 코드를 추가하여이 문제를 해결하려고했지만 스코어 바와 검색 막대가 검색 막대 아래에있는 스코어 바 대신에 서로 위에 있습니다 (아래 그림 참조). searchBarTextDidBeginEditing(_ searchBar: UISearchBar)
또는 searchBarTextDidEndEditing(_ searchBar: UISearchBar)
에이 코드를 추가해도 아무런 효과가 없습니다.
searchController.searchBar.showsScopeBar = true
searchController.searchBar.sizeToFit()