2

UISearchViewController (ストーリーボード レイアウトを使用) に問題があります。

メインのビュー コントローラーの上部にはナビゲーション バーがあり、その下に UISearchBar を配置しました。MKMapView は、検索バーとナビゲーション バーの下に拡張されます。

SearchViewController がアクティブな場合、ナビゲーション バーが上にスライドします。自動レイアウト制約を追加して、uisearchbar をナビゲーション バーの下部に固定しました。ただし、検索バーは、ステータス バーの下とマップ ビューの上には伸びていないように見えます。代わりに、マップビューは上の 20 ピクセルのギャップに表示されます。

メインビューコントローラー

検索ビュー コントローラ アクティブ

どんな助けでも大歓迎です!

4

3 に答える 3

1

ナビゲーション バーで半透明を false に設定しても、これは修正されませんでした。ただし、検索バーの半透明のプロパティを設定するとうまくいきました。

これらのメソッドを使用して、がアクティブUISearchDisplayDelegateかどうかに応じて値を変更しました。searchBar

func searchDisplayControllerWillBeginSearch(controller: UISearchDisplayController) {
    // self.searchBar is an IBOutlet from storyboard
    self.searchBar.translucent = false
}

func searchDisplayControllerWillEndSearch(controller: UISearchDisplayController) {
    self.searchBar.translucent = true
}
于 2014-10-12T15:32:25.067 に答える
0

navigationBar.translucent = NO; で修正できると思います。iOS 7 ではデフォルトで YES に設定されています。

于 2013-10-08T19:12:26.890 に答える
0

info.plist ファイルでこれを試して、ステータス バーを無効にします。

info.plist ファイルでこれを試して、ステータス バーを無効にします。

于 2014-09-18T07:19:39.473 に答える