Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 实现照片应用程序的全屏栏消失行为_Iphone_Objective C_Ios_Multithreading_Cocoa Touch - Fatal编程技术网

Iphone 实现照片应用程序的全屏栏消失行为

Iphone 实现照片应用程序的全屏栏消失行为,iphone,objective-c,ios,multithreading,cocoa-touch,Iphone,Objective C,Ios,Multithreading,Cocoa Touch,我正在开发一个应用程序,类似于照片应用程序,需要利用整个屏幕进行图像处理。现在,我正在研究当用户点击屏幕时,状态栏、导航栏和选项卡栏消失并重新出现的行为。我有它的工作需要,唯一的问题是暂停之前消失的动画发生,使用户无法按下按钮的导航栏和选项卡栏。这是我的密码: [UIView animateWithDuration:.25 delay:5.5 options:UIViewAnimationOptionAllowUserInteraction animations:^ { self.nav

我正在开发一个应用程序,类似于照片应用程序,需要利用整个屏幕进行图像处理。现在,我正在研究当用户点击屏幕时,状态栏、导航栏和选项卡栏消失并重新出现的行为。我有它的工作需要,唯一的问题是暂停之前消失的动画发生,使用户无法按下按钮的导航栏和选项卡栏。这是我的密码:

[UIView animateWithDuration:.25 delay:5.5 options:UIViewAnimationOptionAllowUserInteraction animations:^
{
    self.navigationController.navigationBar.alpha = 0;
    self.tabBarController.tabBar.alpha = 0;
    [[UIApplication sharedApplication] setStatusBarHidden:YES];
}
completion:nil];

因此,显而易见的解决方案是创建一个线程,该线程在休眠5.5秒的动画之前运行。有没有人知道如何使用grand central dispatch实现这一点,或者最好的方法是什么?或者有人有更干净的解决方案吗?我读到在GCD中使用sleep是不好的,基本上我没有太多线程编程经验,有点困惑

当然。在之后使用
dispatch\u:

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 5.5 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void){
    [UIView animateWithDuration:0.25 animations:^{
        self.navigationController.navigationBar.alpha = 0;
        self.tabBarController.tabBar.alpha = 0;
        [[UIApplication sharedApplication] setStatusBarHidden:YES];
    }];
});