iOS8:使用hidesBarsOnSwipe隐藏navigationBar后,如何使statusBar变得不透明?

CKI*_*MNJ 11 objective-c uinavigationbar uinavigationcontroller uistatusbar ios8

我正在构建iOS8应用程序.在我的tableview控制器上,我使用self.navigationController.hidesBarsOnSwipe = YES,在向上滑动手势时隐藏navigationBar.它工作得很好,但我的statusBar变得透明,并显示下面的表格内容.

在故事板上,状态栏是顶栏设置为"推断"

我想:1.保持我的状态栏不透明2.保持与navigationBar相同的颜色3.表格内容滚动在statusBar下面

谢谢.

Han*_*nde 5

这是一个Swift解决方案:

首先,更改UITableViewControllerUIViewController并添加一个tableView字段。然后,viewDidLoad按以下方式实现您的方法:

override func viewDidLoad() {
    super.viewDidLoad()
    tableView.delegate = self
    tableView.dataSource = self
    tableView.frame = view.frame
    view.addSubview(tableView)

    let topBar = UIView(frame: UIApplication.sharedApplication().statusBarFrame)
    topBar.backgroundColor = myDesiredColor
    view.addSubview(topBar)
}
Run Code Online (Sandbox Code Playgroud)


小智 0

您可以向顶部布局添加约束,这样滚动内容将不会出现在状态栏下方。