我有一个执行poptorootviewcontroller的方法“test”。我想在poptorootviewcontroller的动画之前加一些延迟。这是我的代码:
-(void)test{
[UIView animateWithDuration:5.0
delay: 2.5
options: UIViewAnimationOptionCurveEaseIn
animations:^{
[self.navigationController popToRootViewControllerAnimated:NO];
}
completion:nil];
}
但它不起作用。 有帮助吗?谢谢!
答案 0 :(得分: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
。