2011-07-04 15 views
4

ユーザーが検索バーを使用するためにスクロールしない限り、検索バーを非表示にしたいいくつかのビューがあります。私はこれを達成するために、このコマンドを使用します。検索バーを表示の最上部に隠すより良い方法をお探しですか?

[self.tableView setContentOffset:CGPointMake(0, 44) animated:NO]; 

これは[OK]を動作しますが、それは理想的ではありません。何かが発生してテーブルビューが再読み込みされると、いつでも再配置する必要があります。

ユーザーから検索バーを完全に非表示にしたいという意味があります。つまり、スクロールしてスクロールしても表示されないという意味です。しかし、私はスコープバーを表。したがって、基本的には、コントロールのスコープバー部分を表示したまま、検索バーをビューの上からスクロールしてそこに保持したいと考えています。ユーザーが簡単に元に戻すことができるので、setContentOffsetはそれ以上私のために行っていません。

私は見落としているこのアプローチはありますか?

ありがとうございます!

更新:私は決してこれを理解したことがないので、最終的に私はデザインを変更しました。

答えて

1

テーブルビューをリロードする何かが起きたときはいつでも再配置する必要があると言うときは、少し遅れているかもしれませんが、UITableViewがリロードするたびに上部にスクロールすると言っていますか?これはUITableViewの標準的な動作ではありません。あなたのUISearchBarに関するご質問の後半部分に関しては

の範囲、私は強く、あなた自身のUISegmentedControlUISearchBarを交換するお勧めします(つまり、UISearchBarのすべての範囲がとにかくあります)、ユーザーISNように "何もしないオフスクリーンUISearchBarがあると混乱します。

+0

いいえ、テーブルは上に移動しません。私はちょうど比較的少量のデータでテストしているので、すべてが1つの画面に収まります。 UISegmentedControlの良い点。私がこのデザインに戻ることを決めたら、私はそれを間違いなく使用します。 – janineanne

関連する問題