2011-11-04 3 views
6

私はuisearchbaruitableを持つ単純なビューコントローラを持っています。 私の問題は、検索バーをタップしたとき、私は、デリゲート機能searchBarShouldBeginEditingが呼び出されて見ていることですが、ないsearchBarTextDidBeginEditingUISearchバーがsearchBarTextDidBeginEditingを呼び出さない

私は、デリゲートの機能を実装しようとした(そしてそのせいで、キーボードを開いていないと検索が編集することはできません)をsearchBarShouldBeginEditingファーストレスポンダとしてYES、セット検索バーを返しますが、方法は私がもらうんsearchBarTextDidBeginEditing呼ば ...

起こって何ができるか任意のアイデア?

いくつかのコード:

controller.h

@interface ViewController : UIViewController <UISearchBarDelegate> 
{ 
    UISearchBar * searchbar; 
} 

@property (nonatomic, retain) IBOutlet UISearchBar* searchbar; 

@end 

controller.m

cousrse私のクラスの​​

もっとたくさんのコードを持っている(確実に検索バー何とか影響していること)誰か場合検索バーで同様の問題を抱えていますが、回答が非常に評価されています)

私は検索バーで簡単なアプリケーションを作るためにしようと試みたと明らかにそれが動作する...

編集:

テスト少し、私は私が同じになっTextFieldを追加として、それはuisearchbarと関連するものではないことを発見その結果...

アプリケーションがUITabBarのcotroller内のすべてのビューコントローラを持っている(ちょうどtextFieldShouldStartEditingデリゲート関数が呼び出されている)が、私はこれがすべてのこの混乱を引き起こすことができるとは思わない

EDITING2:

本当に奇妙な動作:のUITextFieldのイベントをタッチダウンしIBAction機能を設定し、このイベントが呼び出されることができなかったのはなぜ完璧に動作しますが、EditingDidBeginにIBAction機能の設定が発射されることは決してありません...

+0

コードを投稿できますか? – Raptor

+0

私はsearchBarで反対の動作をしています。私はsearchBarTextDidBeginEditingを取得しますが、searchBarShouldBeginEditingは取得しません... Appleが最新のSDKで何かを乱したのでしょうか?どのSDKを使用していますか? – Mark

+0

私は申し訳ありませんが、もうコードはありません...私はプロジェクト全体を再現して解決したと思います(そして、最初のものでは何が面倒だったのかまだ分かりません)。 –

答えて

13

デリゲートプロパティを設定しましたか?

searchbar.delegate = self; 
+0

私は両方の方法をインターフェースビルダーで行いました。 (と同時に両方のXD)とにかく私は、これは問題の1つとしてデリゲート関数(searchBarShouldBeginEditing)呼び出されるとは思わない。ところで答えてくれてありがとう! –

0

多分あなたは[searchbar resignFirstResponder]を呼び出します。それは私の同様の問題の場合でした。

関連する問題