2010-07-29 3 views
4

테이블에 검색 바를 구현하고 있습니다.이 테이블은 매우 간단합니다.iPhone SDK : UISearchBar : searchBarTextDidEndEditing not firing

- (void)searchBarTextDidBeginEditing:(UISearchBar *)theSearchBar { 
NSLog(@"searchBarTextDidBeginEditing"); 
} 

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {  
    NSLog(@"The search text is: %@", searchText); 
} 

- (void)searchBarTextDidEndEditing:(UISearchBar *)theSearchBar { 
    NSLog(@"searchBarTextDidEndEditing"); 
    [theSearchBar resignFirstResponder]; 
} 

그리고 searchBarTextDidBeginEditing 화재, 나는 내 로그에이 메시지가,하지만 난 검색 창 외부를 눌러 때, 키보드 위에, 나는 내가 할 수 있도록 searchBarTextDidEndEditing 이벤트를하지 않는 : 나는이있어 키보드가 사라지게됩니다. 메시지는 로그에도 나타나지 않습니다.

textDidChange가 작동하기 때문에 그렇지 않은 searchBarTextDidBeginEditing 일뿐입니다.

아이디어가 있으십니까? 감사!!

+0

바깥을 탭하면 커서가 사라 집니까? 첫 번째 응답자는 직접 설정을 해제해야 할 수도 있습니다. – jtbandes

+0

계속하지 않습니다. 검색 표시 줄 바깥에있는 탭을 감지하는 또 다른 방법이 있습니까? 보이지 않는 버튼이나 다른 것을 만들지는 않습니까? – Nick

+0

보기 /보기 컨트롤러에서이 작업을 시도하거나 UIApplication의 하위 클래스로 이벤트를 잡을 수 있습니다. – jtbandes

답변

8

심지어 같은 문제에 직면했습니다.

1.searchBarTextDidEndEditing 방법 아래의 구현

아래의 솔루션을
2.searchBarSearchButtonClicked

을 찾아

+0

이것은별로 의미가 없습니다. 이름이 resignFirstResponder 인 UISearchBar에는 클래스/정적 메서드가 없습니다. 그걸 인스턴스에 부르자는 것 같아요. – Dimitris

2

위에서 언급 한 두 번째 방법에서 반드시 [UISearchchbar resignfirstresponder]을 확인하시기 바랍니다 구현 한 후 searchBarSea rchButton 나를 위해 그것을 해결했습니다.