2

UISearchBar 、 UISearchController 、および UISearchResultsController を使用していますが、iOS 8 で UITableview を使用して UISearchBar のスクロールを停止する方法がわかりません

うまくいく答えが見つかりませんでした。

4

2 に答える 2

3
  1. UITableViewController の代わりに UIViewController を使用する
  2. ステータスバーのすぐ下にサブビューを追加します。これは UISearchBar のサイズです
  3. サブビューのすぐ下にtableViewを追加します
  4. アウトレット、データソース、デリゲートを接続する
  5. AutoLayoutを使用して、ビューを所定の位置に保ちます
  6. viewDidLoad メソッドで、通常どおり UISearchController を構成しますが、searchController searchBar を tableView ヘッダーとして設定する代わりに、storyBoard で作成したビューのサブビューとして追加します。
  7. それだけです...他の誰かが興味を持っている場合に備えて投稿してください。
于 2015-01-24T00:02:51.087 に答える
1

ここで Benjamin の優れた応答を参照してください: https://stackoverflow.com/a/27129481/1505096

要するに、UITableViewControllerではなく、UITableViewが埋め込まれたUIViewControllerを使用してください。前者は、求めている頻繁に要求される動作を含め、テーブル ビューでやりたいことを柔軟に行うことができますが、後者ではビュー自体テーブル ビューであるため、できることがはるかに制限されます。通常の設計パラダイムの外側。

多くのSO応答で見たように、UIScrollViewDelegateで遊んでフレームを調整することはハックであり、そのごまかしに頼る必要はありません。

于 2014-12-18T04:36:24.607 に答える