【发布时间】:2012-10-03 00:55:28
【问题描述】:
是否可以获得内置 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 视图大小的内置方法。毕竟,如果在通话过程中状态栏的高度加倍,视图会自动调整大小。告诉我我遗漏了什么,还有一种方法可以让视图自动增长。
【问题讨论】: