こんにちは、ビューにこの検索バーがあり、その下に多くのボタンがあります。そのため、検索バーをタップするとキーボードがポップアップしますが、ユーザーが検索バーの下とキーボードの上の任意の場所をクリックして検索モードを終了できるようにしたいと考えています。私はSOを少し掃除しており、検索バーからファーストレスポンダーステータスを辞任するために使用できるタッチイベントをインターセプトする非表示のボタンを作成することを提案するソリューションに出くわしました。また、必要のないときにボタンを非表示/無効にして、その下のボタンを正しくタップできるようにすることもできますか? 違う。また、トリックを行っていませんsetHidden
。setEnabled:
関連するコードは次のとおりです。
//touch event on button outsideSearchBarButton which is invisible
- (IBAction)selectOutsideSearchBar:(id)sender {
NSLog(@"Selected outside search bar");
[searchBar resignFirstResponder];
[outsideSearchBarButton setEnabled:NO];
[outsideSearchBarButton setHidden:YES];
}
- (void)searchBarTextDidBeginEditing:(UISearchBar *)aSearchBar {
NSLog(@"searchbarTextDidBeginEditing");
[outsideSearchBarButton setHidden:NO];
[outsideSearchBarButton setEnabled:YES];
}
nibファイルを介してボタンを無効または非表示に設定しても、まったく役に立ちません。ボタンが存在しない (検索バーとキーボードの間をクリックできず、キーボードが消える) か、常に存在する (この非表示のボタンの下にあるボタンをクリックできない)。どんな助けでも感謝します。前もって感謝します!