3つのボタンと他のサブビューを持つようにビューが設定されているView Controllerがあります。ボタンの1つ(3番目のボタン)をクリックすると、別のビューコントローラーのビューをサブビューとして追加していますself.view
(このビューでは、キーボードでアクティブな状態の検索ディスプレイコントローラーがあります)
次のコードを使用してこれを達成できます
[self.searchDisplayController setActive:YES];
[self.searchDisplayController.searchBar setShowsCancelButton:NO];
[self.searchDisplayController.searchBar becomeFirstResponder];
2番目のボタンを押すと、このビューをスーパービューから削除し、次の方法でviewWillDisappear
([self.view endEditing:YES]
)でキーボードを辞任しようとしますが、キーボードはまだ辞任しません
1 つの小さな編集。次のコードをコメント アウトした場合に備えて辞任します。
- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar {
if (self.dataSource.count)
return YES;
return NO;
}