2014-10-29 3 views
5

검색 막대를 추가했습니다 & 검색 디스플레이 컨트롤러 (스토리 보드에서 끌어 올 수있는 'SearchController'객체가 없기 때문에 스토리 보드에 추가 한 것으로 가정).Storyboards를 사용하여 UISearchController를 어떻게 참조합니까?

내 문제는 어떻게 그 SearchController에 대한 속성을 지금 설정합니까? self.searchController가 작동하지 않고 Xcode에 UISearchBar를 뷰에 추가하면 자동으로 추가된다고 나와 있습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 실제로 대한 스토리 보드를 사용하지 않는, https://github.com/dempseyatgithub/Sample-UISearchController

는 스토리 보드를 사용하여 말한다 :

UITableViewController *searchResultsController = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain]; 
searchResultsController.tableView.dataSource = self; 
searchResultsController.tableView.delegate = self; 

self.searchController = [[UISearchController alloc] initWithSearchResultsController:searchResultsController]; 

self.searchController.searchResultsUpdater = self; 

내가 여기 예를 발견 : 나는 그것을 액세스 할 필요가있는 이유는 그래서, 결과 검색 테이블을 설정할 수 있도록처럼 UISearchController에 추가하지만 프레임을 할당하고 초기화하고 설정하여 코드를 사용합니다.

+0

감사 보스, 당신은 내가 기꺼이 받아 들일 겁니다 대답으로이 넣어합니다. – James

답변

-5

검색 막대를 드래그하고 디스플레이 컨트롤러 개체를 테이블보기로 검색하면 searchController라는 IBOutlet이 searchController라는 컨트롤러가 아닌 컨트롤러에 자동으로 추가됩니다. 또한 데이터 원본 및 대리인을 설정합니다. 중요

+4

아래 답변에서 언급했듯이 UISearchDisplayController는 스토리 보드에서 직접 사용할 수없는 UISearchController를 사용하지 않으므로 대신 사용되지 않습니다. –

19

는 : UISearchDisplayController는 아이폰 OS 8에서 더 이상 사용되지 않습니다 아이폰 OS 8의 검색 창 및 디스플레이 검색 결과의 프리젠 테이션을 관리하려면 (. UISearchDisplayDelegate도 사용되지 않습니다) 이상, 대신 UISearchController를 사용합니다.

공식 문서에서 언급했듯이 iOS 8.0 이상을 타겟팅하는 앱에 이전 스타일의 UISearchDisplayController를 추가하지 않는 것이 좋습니다. 그러나 Xcode6.1의 UI 컨트롤러 라이브러리에서 이전 버전을 제거하지 않은 것으로 보입니다. 그들은 새로운 UISearchController를 추가하지 않았습니다. 다음 패치를 기다려 봅시다.

그러나 당신은 여전히 ​​코드에 의해 새로운 하나를 추가 할 수 있습니다

_searchController=[[UISearchController alloc] initWithSearchResultsController:self]; 
+3

아직 기다리고 있습니다 .... 우리를 림보 애플에 남겨 줘서 고마워! – staxim

+0

@staxim 죄송합니다. 몇 달 동안 iOS 또는 Xcode를 만지지 않았습니다. 이번 주말에 조사를하겠습니다. –

+4

및 9 개월 후 .. 아직 스토리 보드보기에없는 UISearchController. : –

관련 문제