动画时避免状态栏透明
Avoid status bar transparency while animating
我得到了包含 2 个元素的 viewController:
- 查看标签和按钮
- 表格视图
我通过将视图的高度限制从 170 更改为 0 而不是动画 view.layoutIfNeeded() 和 tableView.layoutIfNeeded() 来获得以下动画。
我的目标是当 tableView 的内容偏移量达到某个值时隐藏菜单。
这很好用,除了我在视图中的移动内容上覆盖了一个状态栏。是否有任何选项可以将子层添加到状态栏而不是透明的?或者还有其他建议吗?
谢谢!
创建一个视图,将其放在状态栏所在的位置,然后将其背景颜色设置为您需要的任何颜色。例如:
let statusBarView = UIView(frame: UIApplication.sharedApplication().statusBarFrame)
statusBarView.backgroundColor = UIColor.blackColor()
view.addSubview(statusBarView)
或者,将内容边缘设置为 (20.0, 0.0, 0.0, 0.0)
,我同意这是一个更优雅的解决方案,正如@holex 在评论中所建议的
我得到了包含 2 个元素的 viewController:
- 查看标签和按钮
- 表格视图
我通过将视图的高度限制从 170 更改为 0 而不是动画 view.layoutIfNeeded() 和 tableView.layoutIfNeeded() 来获得以下动画。
我的目标是当 tableView 的内容偏移量达到某个值时隐藏菜单。
这很好用,除了我在视图中的移动内容上覆盖了一个状态栏。是否有任何选项可以将子层添加到状态栏而不是透明的?或者还有其他建议吗?
谢谢!
创建一个视图,将其放在状态栏所在的位置,然后将其背景颜色设置为您需要的任何颜色。例如:
let statusBarView = UIView(frame: UIApplication.sharedApplication().statusBarFrame)
statusBarView.backgroundColor = UIColor.blackColor()
view.addSubview(statusBarView)
或者,将内容边缘设置为 (20.0, 0.0, 0.0, 0.0)
,我同意这是一个更优雅的解决方案,正如@holex 在评论中所建议的