2016-09-08 3 views
0

사용자가 이미 UISearchBar에 들어가있는 것처럼보기로드를 만들려고합니다. SearchController이 취소 버튼과 함께 상단에 UISearchBar으로로드되기를 원합니다.활성화 UISearchBar

나는이 시도했다 :

func activateSearch(){ 
     self.searchBarShouldBeginEditing(self.searchController.searchBar) 
     self.willPresentSearchController(self.searchController) 
     self.updateSearchResultsForSearchController(self.searchController) 
} 
+0

를 추가 할 수 있습니다 미리 채워진 데이터를 설정하거나 ** firstResponder **를 설정하여 문제를 해결할 수 있습니다. –

답변

2

func activateSearch(){ 
self.searchController.searchBar.becomeFirstResponder() 
} 

이상 경우

self.searchController.active = true를 추가 할 수 있지 않습니다 seacrbar 초점은 당신의 검색 창에 becomeFirstResponder를 추가 할 수 있도록이

시도
func activateSearch(){ 
     self.searchController.active = true 
    self.searchController.searchBar.becomeFirstResponder() 
} 

또는 개선 된 방법

func activateSearch(){ 
self.searchController.active = true 
self.searchController.searchBar.hidden = false 

self.searchController.searchBar.becomeFirstResponder() 
} 

func activateSearch(){ 
    self.searchBarShouldBeginEditing(self.searchController.searchBar) 
    self.willPresentSearchController(self.searchController) 
    self.updateSearchResultsForSearchController(self.searchController) 
} 
+0

: self.searchController.searchBar.becomeFirstResponder() –

+0

@RutgerHuijsmans - 즐거운 하루 되십시오. –

1

의 필요없이이 viewDidAppear

override func viewDidAppear(animated: Bool) { 
     searchController.active = true 
    } 

activesearchController를 설정하여 간단하게 수행이

func didPresentSearchController(searchController: UISearchController) { 
    searchResultController.searchBar.becomeFirstResponder() 
}