검색 막대를 얻으려고하고 탐색 막대에 범위가 표시됩니다 (보기가 처음 나타나는 방식). UISearchBar를 인터페이스 빌더의 테이블 뷰 컨트롤러로 드래그하면 헤더 셀처럼 테이블에 배치됩니다. 그런 다음 탭을하면 아래에있는 형식으로 움직입니다.iOS : 탐색 막대에 검색 막대가 표시되면 숨겨진 범위 막대
그래서
이, 도청없이 검색 창을 즉시 포커스를하기 : 문제는 내가 왼쪽에 백 버튼으로, 어떤 도청없이이 방법을 시작하고 더 오른쪽에있는 버튼을 취소 할 없습니다 , 나는 작동하지 않는 viewDidLoad에 [_searchBar becomeFirstResponder];
을 추가하려고 시도했다. 다음으로 시도 :
self.searchDisplayController.displaysSearchBarInNavigationBar = YES;
검색 창은 실제로 탐색 모음에 표시되지만 범위 표시 줄이 사라, (APPLE 왜 왜)과는 어색한 차이가있다.
는 또한 UINavigationBar의 서브 클래스하고 키가 만드는 시도했습니다. 크기는 쉽게 변경할 수 있지만 내용은 막대의 아래쪽에 정렬되며 추가하려는 항목이 겹쳐집니다.다시 반복하려면 사용자가 아무런 두드림없이보기가 처음 나타날 때 탐색 막대에 범위 컨트롤이 표시되도록 검색 표시 줄이 필요합니다. 또한 UITableViewController (페이지에 UIRefreshConrol이 있기 때문에)를 지정해야하므로 단순히 테이블 뷰 위에 도구 모음을 놓는 것이 옵션이 아닙니다. 감사.
'viewDidAppear :'에'becomeFirstResponder'를 넣지 않았다고 좌절감을 느꼈습니다. 감사! 귀하의 질문에 대답하기 위해 : 나는 VC가 항상 검색을 위해 항상 보이도록 원한다. (Instagram의 검색 탭을 보아라. 이것은 내가 한 것이다.) 또한, 'UISearchDisplayController'를 사용하는 매우 좋은 이유가있다 - iOS7과의 호환성. iOS8에서는 더 이상 사용되지 않지만 완전히 유효합니다 (여전히 IB의 객체 라이브러리에 있음). 남은 질문 : 네비게이션 바에 검색 창을 표시하는 옵션을 사용하면 왜'showsScope = YES' 설정에 관계없이 범위를 숨길 수 있습니까? – inorganik
왜 스코프 바를 숨 깁니까? 나도 몰라, [문서화되어있다] (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UISearchDisplayController_Class/index.html#//apple_ref/occ/instp/UISearchDisplayController/displaysSearchBarInNavigationBar). * "탐색 막대에 표시되는 검색 막대에서'showsScopeBar' 속성을'YES'로 설정하면 시스템에서 예외가 발생합니다."* 탐색 막대 높이가 범위 막대를 표시 할만큼 충분히 높지 않기 때문일 수 있습니다. – greg