2011-08-03 10 views
1

UIViewControllerのビューのサブビューとしてUISearchBarがあります。 UIViewControllerにはナビゲーションバーがあります。 UISearchBarをタッチすると、ナビゲーションバーを画面上で動かすアニメーションを開始し、ナビゲーションバーの代わりに検索バーを上に移動します。UISearchBarが画面の最上部に移動したときにタッチを受け取りません。

これを行うと、検索バーに属するキャンセルボタンは、検索バーの代理人にタッチイベントを送信しません。検索バーを数ピクセル上に移動すると、検索バーのキャンセルボタンがまだ機能しています。

私が間違っていると思われることについてのご意見はありますか?

答えて

2

どのようにタッチイベント(UIGestureRecognizers?)を取得しますか? UISearchBarが他のビューの背後にあるのではないか(透明な背景があるかもしれません)?これにより、タッチイベントがこのオーバーレイ表示に送信されることがあります。 UISearchBarをスーパービューから移動した可能性もあります。そのスーパービューに背景をいくつか与えて確認してください。カラー。

+0

検索バーのキャンセルボタンのタッチイベントは、検索バーのデリゲートに送信する必要があります。私はナビゲーションバーと検索バーではなく、ナビゲーションコントローラのビューを上に動かすことで修正したようです。ありがとう。 – David

関連する問題