0

UISearchController (UISearchDisplayController이 아님)을 사용 중이므로 검색이 활성화되어있을 때 별도의보기를 표시하려고합니다. 현재보기를 사용하고 싶지 않습니다.UISearchController에서 다른 searchResultsController를 표시하는 방법

self.searchController = UISearchController(searchResultsController: self.resultsController)으로 시도했습니다. 그러나 이것은 아무 것도 보여주지 않습니다. 검색 활동은 다음과 같습니다되기 전에

심지어 내가이 테이블 숨기고 별도의보기를 표시하고 새보기에 입력 한 키워드를 전달하려면,이

func presentSearchController(_ searchController: UISearchController) { 
    DispatchQueue.main.async { 
     searchController.searchResultsController?.view.isHidden = false 
    } 
} 

func didPresentSearchController(_ searchController: UISearchController) { 
    searchController.searchResultsController?.view.isHidden = false 
} 

내 기본 테이블 데이터를 시도했다. 내가 어떻게 이걸 얻을 수 있니? 의 ViewController에 직접 SEGUE이 없기 때문에

enter image description here

답변

1

, 우리는 명시 적으로 우리가 사용하고 싶었던의 ViewController를 참조 할 필요가있다.

아래 코드를 사용했으며 검색 바가 활성화되어있을 때 새 컨트롤러를로드합니다.

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    self.resultsController = storyboard.instantiateViewController(withIdentifier: "searchResults") as! SearchResultsTableViewController 
    self.searchController = UISearchController(searchResultsController: self.resultsController) 

더 나은 방법이 있는지 알고 싶습니다.