2017-09-01 15 views
22

Xcodeの私がは、ビューのサブビューviewControllerためのストーリーボード、背景ImageViewののtableViewsearchFooterビューをされている9ベータ6 iOSの11iOSの11の問題

次のように選択図構造は以下の通りである:AppDelegate

enter image description here

クラス、私は、viewControllerクラスで
UINavigationBar.appearance().prefersLargeTitles = true

UINavigationBar.appearance().setBackgroundImage(UIImage(),for: .default) 

UINavigationBar.appearance().shadowImage = UIImage() 

を設定し、私はアプリケーションを実行すると、私はnavigationItem.searchController = searchController

navigationItem.hidesSearchBarWhenScrolling = trueを設定し、私が発見した navigationBarshadowImageまだ存在していた。 navigationViewは、tableViewをスクロールしたときにナビゲーションバーが正常に表示されなくなりました。(左側のgif) app(右側のgif)と同じようにナビゲーションバーが機能することを願っています。

奇妙な行動

my appsystem app :私は背景imageViewを削除するとが、それは働くことができるだけでなく、 シミュレータ上のシステムアプリ。

私はそれがどうして起こったのかわかりません、どうすれば解決するのだろうか?ありがとう。

+0

iOS/UIKitバグのように見えますが、Appleに報告してみてください。 – Shadowfacts

+0

私は、tableviewがビュー階層の最初のサブビューでなければならないことがわかりました。まだ回避策があるかどうかを試してみてください。 – Vincent

答えて

-1

あなたは(のviewDidLoadで線の下に追加する必要があります)

self.navigationController?.navigationBar.prefersLargeTitles = true 
navigationItem.hidesSearchBarWhenScrolling = false 

OR YOUはUITableViewDataSource

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? 
    { 
      let search = UISearchController(searchResultsController: nil) 
      search.searchResultsUpdater = self 
      return search.searchBar 
    } 

Link to see the screenshot 1Link to see the screenshot 2

0

Stack overflowチームによって削除されたアカウントのviewForHeaderInSection方法を実装することができます。だから私は別のIDを使ってここにコメントする。 私はAppleに問題を報告しました。彼らはプロジェクトを提供するように私に依頼しました。

2

問題の小さなアプリケーションを作成しました。 Githubでプロジェクトにアクセスできます。

Transparent NavigationBar for iOS11

注:スクロールアップするときは、UINavigationBarの色を使用する必要があります。

+0

私はこの質問の元の著者です、これは私の新しいIDです。あなたが提供したプロジェクトをダウンロードしましたが、実際問題を解決することができます。しかし、1つの質問、なぜUINavigationBarの色を使ってスクロールする必要がありますか? ?ありがとう。 – Ringo

+0

私はあなたのプロジェクトでコードを見て、 'tableView.backgroudView = UIImageView(イメージ:UIImage(名前:" main_background "))' 'を設定しました。実際には、状況は同じではありません。私はUIImageViewを'backgroudView'を設定する代わりにtableViewを使用してください。私のプロジェクトは[link](https://pan.baidu.com/s/1kWFhnEJ)でダウンロードできます。 – Ringo

0

ViewControllers Topではなく、NavigationControllerのNavigationsBarのすぐ下にTableView Topの制約を設定します。それは動作するはずです

関連する問題