UI状态栏淡入淡出时间iOS

Gab*_*iel 2 animation objective-c fade ios uistatusbar

我在那里你点击一个UIImageView和按钮淡出回来的应用程序.状态栏不相同,除了它只是涉及到快.有没有办法计算其淡入时间以匹配我的按钮时间?这是我的.m文件,其中包含按钮和状态栏的代码.

.M

- (void)viewDidLoad
{
////Loads UIImageView from URL
todaysWallpaper.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.inkdryercreative.com/daily/archive/mondays/images/062-mondays-960x640-A.jpg"]]]; 

_buttonsVisible = false;

[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

  UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]    initWithTarget:self action:@selector(imageTapped:)];
  [todaysWallpaper addGestureRecognizer:tapGesture];
}

- (void)viewWillAppear:(BOOL)animated 
{
[super viewWillAppear:animated];

[[UIApplication sharedApplication] setStatusBarHidden:YES];
}

- (void)imageTapped:(UIGestureRecognizer *)sender {
float targetA = 0;
if(_buttonsVisible == NO) {
 targetA =1.0;
 } else {
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(imageTapped:)  object:nil];
  [[UIApplication sharedApplication] setStatusBarHidden:YES];
  [[UIApplication sharedApplication]setStatusBarStyle:UIStatusBarStyleBlackTranslucent];
  [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];


}

[UIView beginAnimations:@"MoveAndStrech" context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationBeginsFromCurrentState:YES];
homeButton.alpha = targetA;
infoButton.alpha = targetA;
saveButton.alpha = targetA;
tweetButton.alpha = targetA;
[UIView commitAnimations];
_buttonsVisible = !_buttonsVisible;

if(_buttonsVisible) {
[self performSelector:@selector(imageTapped:) withObject:nil afterDelay:100.0];
  [[UIApplication sharedApplication] setStatusBarHidden:NO ];

  [[UIApplication sharedApplication]setStatusBarStyle:UIStatusBarStyleBlackTranslucent];
}
}
Run Code Online (Sandbox Code Playgroud)

任何帮助或指导将非常感激.我的客户想要在星期二之前完成这项工作,或者找其他人来做这件事.我把我的生命投入到这个应用中,所以如果你能帮助分享知识,请.谢谢

Gre*_*nds 8

你可以把它包装在动画块中.只需使用该setStatusBarHidden:方法而不是 setStatusBarHidden:withAnimation:

[UIView beginAnimations:@"foo" context:nil];
[UIView setAnimationDuration:1.0];
[[UIApplication sharedApplication] setStatusBarHidden:YES];
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)