【问题标题】:Status Bar disappearing When Searching搜索时状态栏消失
【发布时间】:2016-11-10 23:00:15
【问题描述】:

我的状态栏有问题。

一按我的搜索栏它就消失了,看看例子:

状态栏在按下搜索栏之前正常显示:

状态栏不显示,只是消失在视野之外:

先谢谢了! :)

这是我的 searchController 设置:

 override func viewDidLoad() {
        super.viewDidLoad()

definesPresentationContext = true
self.resultsController.tableView.dataSource = self
self.resultsController.tableView.delegate = self
self.searchController.hidesNavigationBarDuringPresentation = false
self.searchController = UISearchController(searchResultsController: self.resultsController)
self.tableView.tableHeaderView = self.searchController.searchBar
self.searchController.searchResultsUpdater = self
self.searchController.dimsBackgroundDuringPresentation = true
self.searchController.searchBar.sizeToFit()
self.searchController.searchBar.barTintColor = UIColor.blackColor()
self.searchController.searchBar.endEditing(true)
self.searchController.searchBar.placeholder = "חפש ברים"

}

【问题讨论】:

  • 它再次使我的应用程序崩溃 LOL XD 我们又来了@alexburtnik
  • 等等,什么崩溃了?
  • 我的应用程序。并且调试器写道:致命错误:在展开可选值时意外发现 nil 并且断点在该行显示错误:self.searchController.hidesNavigationBarDuringPresentation = false
  • 在初始化它们之前,您不应该使用强制解包变量(!在类型之后)。将searchController.hidesNavigationBarDuringPresentation = false 移动到下一行下方
  • override func preferredStatusBarStyle() -> UIStatusBarStyle { return .LightContent } 我使用此代码来帮助我解决问题,但它仅适用于装有 iOS 10 的设备,而装有 iOS 9 的设备仍然会出现问题......

标签: ios swift uitableview search statusbar


【解决方案1】:

试试这个设置:

searchController.hidesNavigationBarDuringPresentation = false

并覆盖这个函数(Swift 2):

override func preferredStatusBarStyle() -> UIStatusBarStyle { 
    return .LightContent 
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多