실행 코드가 searchBarCancelButtonClicked:
입니다. 사용자가 검색 표시 줄에서 벗어날 때 취소가 반드시 클릭되지는 않지만 클릭 할 때 동일한 코드를 실행하려고합니다. 내 현재 코드는 아래에 있지만 알아낼 수없는 문제가 있습니다. 검색 막대 아래에 UIView를 배치하면 클릭하면 원하는대로 작동하는 메서드가 실행됩니다.UISearchBar 닫기
문제는 검색 창을 활성화하면 uisearchbar와 연결된 반투명보기가 내보기 상단에 표시되고보기를 클릭해도 검색 창을 닫을 수 있지만 내 방법은 실행되지 않습니다. 검색 창을 닫은 후에보기를 클릭하면 내 방법이 실행되므로 알았습니다. 기본적으로 검색 표시 줄이 첫 번째 응답자 인 동안보기 제스처를 활성화 할 수 있어야합니다. 난 당신이 아마 searchBarShouldEndEditing:
또는 searchBarTextDidEndEditing:
위임 방법을 사용할 수 있습니다 생각
- (BOOL)searchBarShouldBeginEditing:(UISearchBar*)searchBar {
UITapGestureRecognizer* singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissSearch:)];
UIView *transparentView = [[UIView alloc]initWithFrame:transparentViewRect];
[transparentView setBackgroundColor:[UIColor blackColor]];
[transparentView addGestureRecognizer:singleTap];
[self.view addSubview:transparentView];
[self.view bringSubviewToFront:transparentView];
return YES;
}
- (void) dismissSearch:(UITapGestureRecognizer *)tapGesture
{
//Run my code
}
검색 필드에 포커스가있을 때 알림을 받으려고합니까? 아마도 더 좋은 방법이있을 것입니다 ... – nielsbot
검색 창에 포커스가있을 때 알림을 받고 싶습니다. – JeffN
'searchBarShouldEndEditing :'/'searchBarTextDidEndEditing :'delegate 메소드를 사용할 수 없습니까? – nielsbot