私はこの問題を多く研究しましたが、私にとってはうまくいきませんでした。UISearchControllerは、ステータスバーを不透明なUINavigationBarでカバーしません
基本的に、私はこのようなUISearchController
を提示UIViewController
を持っている:
let searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.delegate = self
searchController.dimsBackgroundDuringPresentation = false
searchController.searchBar.delegate = self
view.addSubview(searchController.searchBar)
ユーザーは、その後searchController
を提示し、キーボードを明らかにUISearchBar
をタップすると予想されます。しかし、コントローラ間の移行中に奇妙なことが起こります。
UISearchController
は、ステータスバーをカバーし、あなたは以下のことを提示UIViewController
を見せなかったかのように思えます。 これを防止する方法、つまり検索コントローラをステータスバーの下に押し込む方法を探したいと思います。私はすでに行っている
もの:
- 私は
viewDidLoad:
でself.definesPresentationContext = true
を設定しています。 - これは既知のバグ、つまりrdar:// 20942583であることが判明しました。
私は設定して、バグを回避しようとしている:それは動作しませんでした
self.edgesForExtendedLayout = .All self.extendedLayoutIncludesOpaqueBars = true
。
アイデアが不足しています。助けてください。
おかげで、束、 ピート。働いている