2010-12-07 2 views
5

UIToolbar 내에 UISearchBar가 UIBarButtonItem으로 중첩되어 있습니다. 기본 기능은 작동하지만 취소 버튼과 스코프 바는 표시를 거부합니다. 나는 인터페이스 빌더에서이 기능을 활성화하려고 시도했지만 수동으로 [searchBar setShowsCancelButton:YES]을 호출 해 보았지만 어느 방법도 작동하지 않습니다. 어떤 아이디어?UIToolbar 내의 UISearchBar가 취소 버튼을 표시하지 않습니다.

이것은 iPad에 있습니다. 나는 iOS 3에서 시도했지만, 4.2에서도 작동하지 않습니다.

답변

3

UISearchBar의 작동 방식에 제한이 있습니다. 한 가지 해결 방법은 UISearchBar를 툴바에 진정으로 저장하는 대신 UIToolbar 위에 레이어하는 것입니다. 검색 막대는 툴바처럼 그려지기 때문에 시각적으로 작동합니다. 그라디언트는 동일합니다.

11

다른보기로 UISearchBar를 래핑해야합니다.

UISearchBar *searchBar = [UISearchBar new]; 
UIView *searchBarContainer = [[UIView alloc] initWithFrame:searchBar.frame]; 
[searchBarContainer addSubview:searchBar]; 
UIBarButtonItem *searchBarItem = 
    [[UIBarButtonItem alloc] initWithCustomView:searchBarContainer]; 
0

검색 표시 줄에 취소 버튼을 반드시 사용해야합니까? textDidChange 메서드를 사용하여 문자열이 지워졌는지 확인한 다음 취소를 사용하여 동일한 작업을 수행하십시오.

+1

그래서 사용자가 마지막 문자를 삭제할 때마다 키보드가 닫히고 편집이 끝나야한다고 말하고 있습니까? 앱에서 예상대로 행동하지 않는 것 같습니다. – SG1