2009-12-04 15 views
10

私は場所ベースのキーワード検索を実装しています。誰かがYelpの検索バーを見たなら、それは私がやろうとしていることです。基本的には、一度検索バーをクリックした後、私は1つのテキストフィールドの入力を提供したいキーワードと他の場所のために入力します。どのUI要素をサブクラス化するのですか?私はこれについてどうやって行くのですか?iPhone - 複数のテキストフィールドの検索バー

+1

あなたの質問に対する答えはこれまでに見つかりましたか?私はまったく同じことを実装しようとしていますが、それを見つけ出すのに幸運はありませんでした。 –

+2

2つのUITextFieldオブジェクトを使用しているだけで止まるものはありますか? – David

+0

@ Borg359私は自分の答えを追加しました。 –

答えて

2

私もかなり前に同様のアプリをやっていました。私はAに挿入された検索バーを使用

  • 初期を見て:私は私のアプリでやった私は(私は唯一の簡単な説明ではないコードの一部を与えている)、これらの手順に従った
    ナビゲーションバー。 (私はプログラムで、私のクラスのviewDidLoadでそれをやった)。

  • このクラスのxibファイルでは、上にビューを配置し、その中に2つのUITextFieldsを配置しました。私はこのビューを隠し、y座標をビューの高さで移動して、-(viewHeight)になりました。

機能パート

  • とすぐに、ユーザは、ナビゲーションバーに置かれ、検索バーに触れると、私はそれを隠し作られ、再表示のテキストフィールドを持つビューとyシフトがするまで、座標彼らは再び0になった。

  • 検索バーの代理メソッドでは、- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar私はこのメソッドからNOを返す前にアニメーション部分(前の手順で説明した)を返しました。

  • 最初のテキストフィールドを最初のレスポンダにして、キーボードが自動的に表示されるようにしました。

  • ここで、両方のテキストフィールドにデータを入力すると、アニメーションが反転し、テキストフィールドに入力されたデータが検索バーに表示されます。

希望します。

4

Yelpの実装は、2つのUITextFieldオブジェクトを持つカスタムビューのように見え、翻訳と拡大縮小のアニメーションは上から拡大表示されるようにします。テーブルビューは、アニメーションの終了後に階層に追加されます。キーボードは、テキストフィールドの1つを最初にレスポンダにすることによって呼び出されます。

ところで、一般に、UI要素を一緒に構成することがサブクラス化よりも優先されます。

+0

タイトルが「検索」になり、キャンセルボタンが表示されるので、navbarに新しいnavigationItemを追加することもできます。 – kevboh

+0

は、実際には新しいUINavigationBarのように見えますが、古いUINavigationBarの上に消えてしまいます。 –

+0

私の答えはどうですか? –

関連する問題