0

iOS 7 Table View Controller에서 UITableView에 연결된 searchDisplay 컨트롤러를 숨기려고합니다. 나는 그것을 일시적으로 상단에서 스크롤하고 싶지 않다. 나는 그것을 완전히 무능하게하고 싶다. (FWIW 그룹화 스타일 because of this로 설정) 내 테이블 뷰 컨트롤러의 코드에서 영구적으로 UISearchDisplayController 숨기기

은, 내가있어 :

self.searchDisplayController.searchBar.hidden = YES;

이 검색 창을 숨길 않습니다,하지만 불행히도 빈 상자 결과 내 테이블의 상단에 앉아 :

Blank Search Bar Space Screenshot

이 빈 그냥 검색 창처럼 화면을 스크롤됩니다. self.searchDisplayController.searchBar.hidden = NO;은 예상대로 검색 막대를 다시 가져옵니다.

this question의 질문과 답변의 제안을 사용하여 테이블 뷰를 44 픽셀 위로 이동하려고 시도했습니다. 단, 상단에는 끌어 오기 - 새로 고침 표시기가 숨기는 부작용이 있습니다 내 테이블.

self.searchDisplayController.searchBar.frame = CGRectMake(0, 0, self.tableView.frame.size.width, 0); 

을하지만이 중 하나를 내 테이블의 상단에있는 빈 공간을 제거하지 않습니다

는 또한과 같이 더 높이가없는 내 검색 바의 프레임 설정을 시도했습니다.

UISearchDisplayController에서 검색 창을 숨기고 실제로 맨 처음 공간에 없었던 것처럼 축소 할 공간을 실제로 만들려면 어떻게해야합니까?

+0

검색 디스플레이가 실제로 숨겨져 있는지 확인해 보셨습니까? if (self.searchDisplayController.searchBar.hidden) {// 프레임을 0으로 만듭니다; } else {// make frame = 44} 프레임을 그 아래에 설정합니다. – user2277872

+0

standardUserDefaults 값을 기반으로 if 문에서 숨김 속성을 설정했습니다. 숨겨진 속성을 설정하는 동안 동일한 if 문에서 searchBar의 프레임을 설정하려고했습니다. 나는 누락 된 끌어 오기 - 새로 고침 표시기의 부작용이 여전히 있었다. – Nick

답변

0

결국 나는이 이상한 행동에 대한 조건을 우회하는 앱의 동작을 연결함으로써이 문제를 처리했습니다. 이 동작이 최신 OS 릴리스에서 수정되었는지 확실하지 않습니다.

관련 문제