2012-03-28 36 views
21

Search Tôi cố gắng để có được thông báo khi nút Search được nhấp vào bàn phím trong UISearchBar với điều này:UISeachBar phát hiện khi người dùng nhấn nút

- (BOOL)textFieldShouldReturn:(UITextField *)textField{ 

     return YES; 
    } 

Nhưng phương pháp này sẽ không gọi khi tôi nhấn nút Tìm kiếm .

Trả lời

51

Các bạn đã thử delegate này

Objective-C:

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar 

Swift:

func searchBarSearchButtonClicked(searchBar: UISearchBar) 

Xem tài liệu cho bất kỳ đại biểu thanh tìm kiếm. https://developer.apple.com/documentation/uikit/uisearchbardelegate

+0

tôi có thể nhận được trong phương pháp này, các văn bản đó là trong TextView trong UISearchBar? – MTA

+1

Bạn nên triển khai phương pháp này để bắt đầu tìm kiếm. Sử dụng thuộc tính 'văn bản' của thanh tìm kiếm (UISearchBar) để lấy văn bản. Bạn cũng có thể gửi trở thànhFirstResponder cho thanh tìm kiếm để bắt đầu chỉnh sửa theo chương trình. –

+0

Yup .. như @hpiOSCoder cho biết nhận được văn bản từ thanh tìm kiếm. searchBar.text sẽ mang lại cho bạn giá trị. – iPrabu

2

Nếu bạn muốn làm một cái gì đó khi 'tìm kiếm' nút được nhấp sau đó, Hãy thử phương pháp này

  • (void) searchBarSearchButtonClicked: (UISearchBar *) Searchbar

Nói với các ủy quyền rằng nút tìm kiếm đã được khai thác.

1

Trước tiên, bạn phải đặt đại biểu tìm kiếm. Trong viewDidLoad()

self.searchBar.delegate = self 

sau đó func searchBarSearchButtonClicked(searchBar: UISearchBar)

Các vấn đề liên quan