UITableView(およびMKMapViewも含まれていますが、うまくいけばそれは問題ではありません)を含むUIViewControllerにUISearchControllerを追加しようとしています。私はRay Wenderlich's tutorialを追跡しましたが、私は行動の面で同じ結果を得ることはできません。私は9.1にiOS版をサポートする必要があるため途中で#availableテストがあることをUISearchControllerが期待通りに表示されない
override func viewDidLoad() {
super.viewDidLoad()
// Setup the Search Controller
searchController.searchResultsUpdater = self
searchController.obscuresBackgroundDuringPresentation = false
searchController.searchBar.placeholder = NSLocalizedString("Search references by project, customer or city", comment: "")
if #available(iOS 11.0, *) {
navigationItem.searchController = searchController
navigationItem.hidesSearchBarWhenScrolling = true
} else {
tableView.tableHeaderView = searchController.searchBar
}
definesPresentationContext = true
self.modeSelector.layer.cornerRadius = 5.0
if let split = splitViewController {
let controllers = split.viewControllers
detailViewController = (controllers[controllers.count - 1] as! UINavigationController).topViewController as? ReferenceViewController
}
self.navigationItem.rightBarButtonItem?.isEnabled = false
}
注:
は、ここに私のviewDidLoadです。
今、私はいくつかの問題を参照してください。
- 検索バーがすぐに表示され、私は検索バーにフォーカスすると
- をスクロールして、それを隠すことができない、テーブルビューの上部には固執しないがナビゲーション項目の下に:
私はレイWenderlichのサンプルプロジェクトを参照して唯一の大きな違いは、ということであるので、私はXcode 9でプロジェクトを作成しましたが、私のストーリーボードでは上部と下部のレイアウトガイドは使用しませんが、安全な領域を使用しています。関連性があるかどうかはわかりませんが、それが私が見る唯一のことです。
何が起こっているのか、どうすればこの問題を解決できますか?
View Controllerをクリックし、AIで 'Adjust Scroll View Insets'を選択します。これが役立つことを願っています。 –
@DharmeshKheniいいえ、何も変わりません。同じ振る舞い。 – Sebastien
@matt何も変更しません。 – Sebastien