导航栏和搜索控制器
我希望我的导航栏和搜索栏具有相同的颜色。我也想摆脱他们之间的细线,但与第一个相比,这似乎是一个小问题。 的导航栏属性设置是这样的:导航栏和搜索控制器
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()
这似乎为我ColorHelper
返回不同的值LightPink
但doesn't。我检查了HEX值的颜色,它是不正确地显示颜色的导航栏,比实际情况要轻一点。任何想法为什么?改变.barStyle
没有改变任何东西。
相同颜色:
我有同样的问题,我的(我的UINavigationBar
搭配同色系的1x1像素的图像)设置backroundImage
我UISearchBar
解决它。并注意transluent
场 - 它必须具有相同的值作为UINavigationBar
分隔符:
要删除导航栏和搜索栏之间的分隔符,你可以在你的AppDelegate
UINavigationBar.appearance().setBackgroundImage(UIImage(), forBarMetrics: .Default)
UINavigationBar.appearance().shadowImage = UIImage()
使用此代码
但它只能如果你设置transluent
场假
'self.navigationController .navigationBar.setBackgroundImage(UIImage的(),forBarMetrics:.DEFAULT)? self.navigationController .navigationBar.shadowImage = UIImage的()'解决了这个问题对我来说 – Percolator
我想你的NavBar中有一个半透明的。您应该使用此代码关闭Transculent,您可以在viewDidLoad方法中使用它。
self.navigationController?.navigationBar.translucent = false
此外,您可以在界面生成器中切换半透明。选择您的导航控制器,然后在文档大纲中选择导航栏,并在属性检查器取消选中半透明选项。
如果你不想你的消失时的导航栏用户轻按您的搜索栏使用本;
searchController.dimsBackgroundDuringPresentation = false
searchController.hidesNavigationBarDuringPresentation = false
在我原来的文章中,灵魂似乎在图片中看到的视图起作用,它们现在是相同的颜色。问题是,当我选择搜索栏时,用于搜索的导航栏不可见。任何建议如何解决? – Percolator
@Percolator你解决了这个问题吗? ? – emresancaktar
我已经更新了我的回答如下,有两个你的问题的答案s –