큰 두통을 일으키는 문제가 발생했습니다.텍스트 필드를 조작 할 때 UISearchBar가 이동합니다.
Interface Builder에서 나는 tableview 만있는 장면이 있습니다. 이 서브 클래스의 컨트롤러는 UITableViewController입니다. 나는 50의 높이와 함께 그 꼭대기에서 볼 수있는 또 다른 장면을 보았습니다. 아래는 궁극적으로 목록이나지도를 보유하는 컨테이너보기입니다. 컨트롤러는 UIViewController 하위 클래스입니다. 다음은 위의 이미지에서 볼 수있는 목록이 완전히 다른 테이블과 뷰 컨트롤러
하는 것으로 ... 그것은 시뮬레이터에서의 모습입니다. 검색 창 컨트롤러는 도시 또는 우편 번호로 위치를 검색하는 데 사용됩니다. 검색 창 컨트롤러의 테이블보기는 다른 목록을 덮어 씁니다. 검색 테이블에서 위치를 선택하면 해당 위치의 영역이 사설 웹 서비스를 사용하여 관심 지점 목록을 검색하는 다른 컨트롤러로 보내집니다.
위에서 언급 한보기에 검색 창을 추가하려면 다음 방법을 호출합니다.
- (void)setupSearchView {
self.searchTableViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"LocationSearchTable"];
self.searchController = [[UISearchController alloc] initWithSearchResultsController:self.searchTableViewController];
self.searchController.searchResultsUpdater = self.searchTableViewController;
[self.searchController.searchBar sizeToFit];
self.searchController.searchBar.tag = 9189;
self.searchController.searchBar.placeholder = @"Search by city or ZIP code";
[self.searchView addSubview:self.searchController.searchBar];
[[self.searchView viewWithTag:9189] becomeFirstResponder];
self.searchController.hidesNavigationBarDuringPresentation = false;
self.searchController.dimsBackgroundDuringPresentation = true;
self.definesPresentationContext = true;
}
내가 true로 설정 self.definesPresentationContext와 텍스트 필드에을 클릭
는 검색 창은 그 위에 큰 공백을 떠나, 탐색 모음의 정확한 높이를 아래로 떨어진다. self.definesPresentationContext가 false의 경우후 행동과 결과는 다르다. 이 경우 검색 필드를 클릭하면 모든 것이 잘 보입니다. 그러나 유형으로 시작하면 탐색 컨트롤러가 흰색으로 덮여 있습니다. 검색 창은 위치를 변경하지 않습니다. Reveal을 사용하면 탐색 모음이 스택에서 뒤로 밀린 것을 볼 수 있습니다. 여기에 내가 무엇을 놓치고
... 그처럼 보이는 무엇인가?
자세히보기 ... 테이블 배경은 항상 나머지 테이블 레이어보다 64 픽셀 높습니다. –
어떻게 해결 했습니까? –