2011-12-19 163 views
0

我正在開發一個應用程序,我在其中添加一個控件UISearchBar。當我開始在UIsearchBar中編輯文本時,鍵盤在屏幕上呈現動畫效果。在我完成我的完整編輯或取消所有文本後,我將卡在解除鍵盤的點。 我如何解僱鍵盤上的搜索鍵形式UIKeypad?我如何解僱鍵盤上關於UISearchBar的鍵盤上的搜索按鈕?

對於UITextField和UITextView也是同樣的問題?

感謝

回答

5

確保風景控制器,它有搜索欄實現了SearchBarDelegate和你設置searchBar.delegate自我:

@interface AddressSearchViewController : UIViewController <UISearchBarDelegate> 

然後實現下面的方法:

-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar 
{ 
    [searchBar resignFirstResponder]; 
} 

這將使在點擊搜索按鈕鍵盤消失在鍵盤或搜索欄

+0

謝謝,現在我的代碼工作。你的回答非常具有描述性。 – Tirth 2011-12-20 04:55:12

3

對於搜索欄:

- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar 
{ 
    [searchBar resignFirstResponder]; 
} 

而且同樣的事情文本字段:

- (void)textFieldDidEndEditing:(UITextField *)textField 
{ 
    [textField resignFirstResponder]; 
} 
+0

,你的答案仍然不適合我。我想使用已經是鍵盤的標準UI的Tab鍵搜索鍵來解除鍵盤。 – Tirth 2011-12-19 07:59:44

+0

它應該與第一個一起工作。視圖控制器是搜索欄的代表嗎? 'searchBar.delegate = self;' – 2011-12-19 08:46:10

0

使用此代碼viewDidLoad中

-(void) ViewDidLoad 
{ 
    [super ........]; 
    UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)]; 
    [self.view addGestureRecognizer:gestureRecognizer]; 
    gestureRecognizer.cancelsTouchesInView = NO;  
} 

- (void) hideKeyboard 
{ 
    [texfieldname1 resignFirstResponder]; 
    [texfieldname2 resignFirstResponder]; 
} 
+0

我想使用已經是鍵盤標準UI的Tab鍵搜索鍵來關閉鍵盤。 – Tirth 2011-12-19 07:59:10