因此,我正在製作一個應用程序,並有解除鍵盤從UISearchBar和UITextFields的一些問題。這裏是我的應用程序的結構:解僱鍵盤FirstResponder問題
NavigationController - (模態) - - > ViewC1 - (模態) - > ViewC2> ViewC3
我在ViewC1一個搜索框,並在 「搜索」 按鈕鍵盤被按下鍵盤被解僱,這工作正常。但是,如果我在ViewC3中返回到ViewC1,那麼當按下「搜索」按鈕時鍵盤不再解除。在搜索欄的委託方法我已經把如下:
- (void) searchBarSearchButtonClicked:(UISearchBar *)search
{
if ([search isFirstResponder]) {
[search resignFirstResponder];
} else {
[search becomeFirstResponder];
[search resignFirstResponder];
}
}
這不解決問題,我不知道爲什麼鍵盤不解僱。作爲參考,當返回到原始ViewC1時,ViewC3被解除如下:
UIViewController *parent = self.presentingViewController;
[parent.presentingViewController dismissViewControllerAnimated:YES completion:nil];
任何幫助表示讚賞,謝謝。
我建議調試搜索按鈕單擊方法。搜索欄及其代理是否仍然分配?在這一點上搜索也被認爲是第一響應者? – 2013-04-08 15:24:28
@Ben M:它仍然被認爲是第一個響應者,因此它在觸發委託方法時仍然分配了委託。 – 2013-04-13 09:43:38