2016-04-03 22 views
0

ナビゲーションバーと検索バーを同じ色にします。私はまた、それらの間のヘアラインを取り除きたいが、それは最初のものに比べて軽微な問題であるようだ。 ナビゲーションバーの属性がこのように設定されていますナビゲーションバーと検索コントローラ

self.navigationController?.navigationBar.barTintColor = ColorHelper.sharedInstance.LightPink() 
    if let navBarFont = UIFont(name: "HelveticaNeue-Light", size: 25.0) { 
     let navBarAttributesDictionary: [String: AnyObject]? = [ 
      NSForegroundColorAttributeName: UIColor.whiteColor(), 
      NSFontAttributeName: navBarFont 
     ] 
     self.navigationController?.navigationBar.titleTextAttributes = navBarAttributesDictionary 
} 

検索バー属性:

searchController.searchResultsUpdater = self 
searchController.dimsBackgroundDuringPresentation = false 
definesPresentationContext = true 
searchController.searchBar.placeholder = "Search for new friends" 
tableView.tableHeaderView = searchController.searchBar 
searchController.searchBar.backgroundColor = ColorHelper.sharedInstance.LightPink() 
searchController.searchBar.barTintColor = ColorHelper.sharedInstance.LightPink() 
searchController.searchBar.backgroundImage = UIImage() 

The result

をそれは私のColorHelperリターンとしてLightPinkに対して異なる値を見えるかもしれませんが、それはdoesn't。私は色のHEX値をチェックしました。それは色を正しく表示していない、実際よりも少し軽いナビバーです。なぜどんなアイデア? .barStyleを変更しても何も変更されませんでした。

+0

私は以下の回答を更新しました。両方の質問に対する回答がありますs –

答えて

1

同じ色:

私は同じ問題を抱えていたし、私は私のUISearchBar(私のUINavigationBarと同じ色を持つ1x1ピクセルの画像)のためbackroundImageを設定することで、それを解決しました。そしてtransluentフィールドに注意を払う - それはあなたのUINavigationBar

セパレータとして同じ値を持つ必要があります:あなたはAppDelegate

UINavigationBar.appearance().setBackgroundImage(UIImage(), forBarMetrics: .Default) 
UINavigationBar.appearance().shadowImage = UIImage() 
でこのコードを使用することができますナビゲーションと検索バーの間の区切りを削除するには

しかし、これは、transluentフィールドをfalseに設定した場合にのみ有効です。

+0

'self.navigationController?.navigationBar.setBackgroundImage(UIImage()、forBarMetrics:.Default) self.navigationController?.navigationBar.shadowImage = UIImage()は私のために解決しました。 – Percolator

1

NavBarにTranslucentがあると思います。このコードでTransculentをオフにする必要があります。あなたはviewDidLoadメソッドで使うことができます。

また、インターフェースビルダーで半透明を切り替えることもできます。 Navigation Controllerを選択し、Document Outlineでナビゲーションバーを選択し、Attributes Inspectorで半透明オプションをオフにします。

ユーザーがSearchBarをタップしたときにナビゲーションバーを消したくない場合は、これを使用します。

searchController.dimsBackgroundDuringPresentation = false 
searchController.hidesNavigationBarDuringPresentation = false 
+0

私の元のポストの写真に見られるように、ソウルションは同じ色になりました。問題は、検索バーを選択すると、検索に使用されるナビゲーションバーが見えなくなることです。どのようにそれを解決するための任意の提案? – Percolator

+0

@Percolatorあなたは問題を解決しましたか? – emresancaktar

関連する問題