是否可以获得内置 iOS 系统动画的动画属性(速度和缓动曲线)?具体来说,UIStatusBarAnimationSlide
当您隐藏或显示状态栏时。现在我只是在观察它并想出了一个很好的匹配:使用默认动画曲线的 0.35 秒。这很好用,但 Apple 可能会在未来的 iOS 更新中更改这样的动画,并且完全匹配它而不依赖于我自己提出的硬编码值会很好。
对于它的价值,这是我的视图控制器在我点击视图以隐藏状态栏并调整视图大小以填充屏幕时调用的方法。
-(void)tappedView:(UIGestureRecognizer *)gestureRecognizer
{
UIApplication *app = [UIApplication sharedApplication];
// First, toggle the visibility of the status bar
[[UIApplication sharedApplication] setStatusBarHidden:![app isStatusBarHidden] withAnimation:UIStatusBarAnimationSlide];
// Then scale this view controller's view, attempting to match the built-in
// UIStatusBarAnimationSlide animation
[UIView animateWithDuration:.35
animations:^{
self.view.frame = [UIScreen mainScreen].applicationFrame;
}];
}
顺便说一句,我很惊讶我找不到在隐藏状态栏时处理调整 VC 视图大小的内置方法。毕竟,如果在通话过程中状态栏的高度加倍,视图会自动调整大小。告诉我我遗漏了一些东西,还有一种方法可以让视图自动增长。