动画时避免状态栏透明

时间:2015-12-17 16:59:02

标签: ios swift uiview uianimation

我得到了带有2个元素的viewController:

  1. 使用标签和按钮查看
  2. 的tableView
  3. 我通过将视图的高度约束从170更改为0而不是动画view.layoutIfNeeded()和tableView.layoutIfNeeded()来获得以下动画。

    我的目标是在tableView的内容偏移量达到某个值时隐藏菜单。

    这很好用,除了我的视图中移动内容的状态栏叠加。是否有任何选项可以将子图层添加到状态栏不透明?还是其他任何建议?

    谢谢!

    Animation scene

1 个答案:

答案 0 :(得分:3)

创建一个视图,将其放在状态栏所在的位置,并将其背景颜色设置为所需的颜色。例如:

let statusBarView = UIView(frame: UIApplication.sharedApplication().statusBarFrame)
statusBarView.backgroundColor = UIColor.blackColor()
view.addSubview(statusBarView)

或者,设置内容边缘插入(20.0, 0.0, 0.0, 0.0),我同意这是一个更优雅的解决方案,正如@holex在评论中所建议的