gpt4 book ai didi

iphone - UIView 链 block 动画,延迟不能正常工作

转载 作者:行者123 更新时间:2023-11-28 17:42:19 25 4
gpt4 key购买 nike

更新: (我重做了我的函数,所以所有的动画都不会像以前那样嵌套。仍然没有运气)

我有一段代码,按以下顺序尝试:

  1. 隐藏 View A
  2. 显示 View B
  3. 显示 View C

顺序很重要!

代码如下:

主要功能:

        [fileMenuController hide:0.2 andDelay:0.1]; 
[drawingToolController show:0.2 andDelay:0.2];
[penSizeMenuController showSubViewWithDuration:0.4];

fileMenuController 隐藏功能:

     [UIView animateWithDuration:duration //begin animation
delay:delay
options:UIViewAnimationCurveEaseIn
animations:^{
[self.view setFrame:CGRectOffset([self.view frame], 0, -self.view.frame.size.height)];
}
completion:nil
];

drawingToolController 显示功能:

    [UIView animateWithDuration:duration //begin animation
delay:delay
options:UIViewAnimationCurveEaseIn
animations:^{
[self.view setFrame:CGRectOffset([self.view frame], 0, self.view.frame.size.height)];
}
completion:nil
];

penSizeController 显示功能:

    [UIView transitionWithView:self.view 
duration:duration
options:UIViewAnimationOptionTransitionCurlDown
animations:^{ [self.view addSubview:subView] ;}
completion:nil];
self.view.alpha = 1;

我的问题是 block penSizeController showSubView 从第一个动画开始(fileMenuController hide)!

前两个动画(fileMenuController hidedrawingToolController show)工作正常。当 fileMenuController 隐藏完成后,drawingToolController 启动。

那么,有人知道为什么 penSizeController showSubView block 中的部分与第一个动画同时开始吗?

最佳答案

我想这是因为外部动画 block 没有任何动画——因为隐藏和显示创建内部动画 block ——所以它立即调用完成 block 。

要么删除 hideshow 中的嵌套动画 block ,要么添加一个参数来禁用这些嵌套动画操作的动画。

关于iphone - UIView 链 block 动画,延迟不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7653415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com