2013-02-05 4 views
0

UISearchDisplayController가있는 UISearchBar의 경우 검색 필드를 클릭하면 키보드가 나타나고 오버레이가 tableview에 표시됩니다. 취소를 클릭하면UISearchBar 닫기 방법

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar 

라고합니다.

오버레이를 클릭 할 때 호출되는 메서드가 있는지 궁금합니다. 키보드를 닫고 tableview로 돌아갑니다. 기본적으로이 오버레이를 클릭 할 때 취소를 클릭 할 때와 같은 방법으로 실행하려고합니다. 어떤 아이디어? Apple Docs를 확인했는데 취소 버튼 이외의 방법을 찾을 수 없었습니다.

답변

1
  1. 당신은 UISearchDisplayController를 서브 클래 싱이 touchesBegan method에서 방법을 취소 호출 할 수

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
    
  2. 당신은 수 있도록 OverlayView에 UITapGestureRecognizer을 할당 할 수 있습니다.

1

* CANCEL : 그냥 [self.searchDisplayController setActive : NO]; ToMfromTO의 답변처럼 touchesBegan 내부에서 구현하십시오.

+0

하지만 취소를 클릭하지 않고 uisearchbar에서 클릭 만하면 어떤 방법이 호출되는지 알고 계십니까? 검색 창과 키보드를 닫지 만 또 다른 방법을 실행해야합니다. – JeffN