ここでは、私が少しトリックです。)あなたの検索バーあなたのUITableViewのサブビューにしないでください。あなたのnibファイルに両方のインスタンスを追加して、UITableViewControllerのIBOutletsとしてそれらを結び付けてください。次に、検索バーをテーブルのヘッダービューとして設定します。そうすることで、フレームが重なったりタッチイベントを妨げたりする心配がありません。ここではあなたがそれを行う方法は次のとおりです。
は、あなたのテーブルのヘッダビューを設定し
@property (nonatomic, retain) IBOutlet UISearchBar *searchBar;
あなたのテーブルビューのヘッダファイルにをプロパティを作成します:あなたのための高さを設定
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
return self.searchBar; // The property you wired up in IB
}
をヘッダーまたは(UISearchBar)
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 44; // The height of the search bar
}
これだけです。今では、グループ化されたテーブルビューや複数のセクションを持つテーブルを持っていても、単純なテーブルのきれいなソリューションがあれば、これは最適なソリューションではないかもしれません。それ以外の場合は、検索バーのフレームとテーブルビューをコード内で調整する必要があります。なぜなら、それらは重複し、タッチの問題があるからです。お役に立てれば!
ありがとう、ジェリー、私はこれを試してみます。 –
私はこれを私のアプリで使用しました。魅力的に働くはずです。それが受け入れられた場合はこれをマークしてください;) – jerrylroberts