2008-10-21 25 views
5

Tôi muốn ẩn UISearchBar phần lớn thời gian và chỉ gọi nó xuất hiện khi người dùng muốn.trượt UISearchBar

Tôi đã đặt UISearchBar trong Trình tạo giao diện và ẩn nó sau chế độ xem, khi người dùng nhấp vào nút, nó gọi mã sau, tôi hy vọng nó sẽ đưa thanh tìm kiếm lên trước và trượt bàn phím để xem . Nhưng nó không ....

- (IBAction)search:(id)sender 
{ 
    [mySearchBar performSelector:@selector(searchBarTextDidBeginEditing:)]; 
} 

Bất kỳ ai cũng biết cách kích hoạt UISearchBar bằng mã?

Cảm ơn.

Cảm ơn câu trả lời của bạn. Tôi chỉ đăng mã hoàn chỉnh trong trường hợp ai đó quan tâm đến số

- (IBAction)search:(id)sender 
{ 
    mySearchBar.hidden = NO; 
    [mySearchBar becomeFirstResponder]; 
} 

#pragma mark UISearchBarDelegate delegate methods 

// called when keyboard search button pressed 
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar 
{ 
    mySearchBar.hidden = YES; 
    [mySearchBar resignFirstResponder]; 
// Do something with the mySearchBar.text 
} 

// called when cancel button pressed 
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar 
{ 
    mySearchBar.hidden = YES; 
    [mySearchBar resignFirstResponder]; 
} 

Trả lời

4

Nếu bạn muốn bật bàn phím, bạn sẽ cần gọi [mySearchBar trở thànhFirstResponder]

+0

đó là gợi ý tuyệt vời, lời chúc mừng – Dan

2

Tôi đã đặt thanh tìm kiếm ở trên cùng của chế độ xem và ẩn nó. Sau đó, bạn chỉ cần:

mySearchBar.hidden = NO; 

để hiển thị. Tùy thuộc vào những gì bạn đang làm, bạn cũng có thể cần phải thay đổi kích thước khung nhìn cơ bản (nếu không phần trên cùng của nó sẽ bị cắt). Và nó vẫn không "trượt" vào xem. Việc sử dụng chế độ xem hoàn toàn mới có thể dễ dàng hơn với thanh tìm kiếm được đính kèm phù hợp.