7

Tôi đang sử dụng UISearchBar trong mã của mình. Tôi đã nhập khẩu đại biểu của nó trong tập tin tiêu đề và thực hiện một số phương pháp đại biểu trong tập tin thực hiện cũng có.Làm cách nào để vô hiệu/bật nút Tìm kiếm của bàn phím UISearchBar?

Khi nhấn vào UISearchBar, bàn phím sẽ xuất hiện để nhập văn bản. Phím trả về của bàn phím là nút "Tìm kiếm". Nó sẽ bị tắt theo mặc định. Khi chúng ta nhập một ký tự, nó sẽ được kích hoạt. (Tôi có đúng không?)

Đây là vấn đề xảy ra .. Tôi muốn bật phím trở về của bàn phím UISearchBar khi người dùng nhập ít nhất hai chữ cái.

Có thể không? Nếu có, làm thế nào chúng ta có thể làm điều đó?

Cảm ơn

Trả lời

7

Bạn có thể' t vô hiệu hóa nút tìm kiếm. Những gì bạn có thể làm là sử dụng UISearchBarDelegate phương pháp để tìm hiểu xem bạn nên có hành động vào nút tìm kiếm được nhấp, như vậy:

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { 
    if (searchBar.text.length < 2) { 
     return; 
    } 
    else { 
     // Do search stuff here 
    } 
} 

Các Apple Documentation cho điều này là rất hữu ích là tốt, và là một điểm khởi đầu tuyệt vời để tùy chỉnh hành vi của searchBar.

+1

Nhưng nó không rõ ràng cho người dùng nếu nút tìm kiếm được kích hoạt, nhưng không phải làm gì –

+0

Giống như @NikKov nói. vô hiệu hóa (thay đổi sang màu xám) nút tìm kiếm. –

-1

Bạn có thể thử

if([self.searchBar.text length] > 2) 
{ 
    [self.searchBar resignFirstResponder]; 
} 
+1

Oh .... xin lỗi, có sai lầm của tôi .. :( – Krunal

0

Đây là cách tôi làm điều đó:

if([searchbar.text length] == 0) { 
     [searchBar performSelector: @selector(resignFirstResponder) 
          withObject: nil 
          afterDelay: 0.1]; 
    } 
0

Bạn có thể thử này,

- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope{ 
     if (searchText.length>=2) { 
     [Main_SearchBar resignFirstResponder]; 

     // Do your code here 
     } 
} 
Các vấn đề liên quan