0

我有一个执行 poptorootviewcontroller 的方法“测试”。我想在 poptorootviewcontroller 的动画之前放一些延迟。这是我的代码:

-(void)test{
[UIView animateWithDuration:5.0
                      delay: 2.5
                    options: UIViewAnimationOptionCurveEaseIn
                 animations:^{
                     [self.navigationController popToRootViewControllerAnimated:NO];
                 }
                 completion:nil];
}

但它不起作用。有什么帮助吗?谢谢!

4

1 回答 1

3

您发布的代码用于执行动画,而不是延迟。

一个好的解决方案是使用dispatch_after

-(void)test{
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        [self.navigationController popToRootViewControllerAnimated:NO];
    });

2.5用你想要的任何延迟替换。

于 2014-11-17T17:47:22.563 回答