2014-10-10 3 views
6

IOS8에서 새 UISearchController를 사용하는 데 문제가 있습니다. 지금까지 발견 한 모든 예제는 검색 막대를 UITableView의 헤더보기로 사용합니다. 검색 창을 다른 곳에 표시해야 할 때 어떻게합니까? 예를 들어 스크롤 바를 막기 위해 검색 바를 테이블 바깥에두면됩니까? UICollectionView와 같은 것을 사용하면 어떨까요?비표준보기에 UISearchController 추가

여기에 뭔가가 있습니까? 복잡하지 않으면 안되는 것처럼 보입니다.

답변

3

탐색 모음의 titleViewUISearchBar을 삽입하면 테이블 뷰를 스크롤 할 때 스크롤하지 않도록 할 수 있습니다.

self.searchController.hidesNavigationBarDuringPresentation = NO; 
self.searchController.searchBar.searchBarStyle = UISearchBarStyleMinimal; 

// Include the search bar within the navigation bar. 
self.navigationItem.titleView = self.searchController.searchBar; 

self.definesPresentationContext = YES; 

UISearchController는 검색 결과를 관리하는 뷰 컨트롤러해야 searchResultsController에 의존한다. UISearchController이 활성 상태 인 경우보기 컨트롤러가 searchResultsController이 가리키는 속성 업데이트가 UISearchBar 인 텍스트를 기반으로하는지 확인하십시오. 이 방법을 사용하면 UISearchController를 tableview 또는 collectionview와 함께 사용할 수 있습니다.