gpt4 book ai didi

ios8 - iOS 8动画错误

转载 作者:行者123 更新时间:2023-12-03 11:43:10 26 4
gpt4 key购买 nike

我有一个简单的动画 View 方法。

-(void)animateSelf
{
CABasicAnimation * animation;

animation = [CABasicAnimation animationWithKeyPath:@"position.y"];
// settings ...
[self.view.layer addAnimation:animation forKey:@"position.y"];

animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
// settings ...
[self.view.layer addAnimation:animation forKey:@"transform.rotation.z"];

[UIView animateWithDuration: 1.0 animations:^{
CGRect rect = self.view.frame;
rect.origin.y += 800;
self.view.frame = rect;
} completion:nil];
}

对于iOS 7,它运行良好。但是对于iOS 8动画,其行为表现出乎意料。有没有办法为iOS 8组合这些动画?

我试图用另一个CABasicAnimation替换animateWithDuration :,但这没有帮助。
view.frame日志是正确的,但是view.frame的动画跳出了模糊的原点。

删除CABasicAnimation for position.y(第一个错误)后,错误消失了。

最佳答案

您有三个动画:

  • 您可以设置图层的position的动画
  • 您可以设置图层的transform的动画
  • 您可以为 View 的frame设置动画,从而为该图层的position设置动画。

  • 动画1和3发生碰撞。
  • 在iOS 7上,其行为是动画3取消了动画1。
  • 在iOS 8上,其行为是动画1和3同时运行(“附加动画”)。

  • 我建议您只删除动画1,然后查看相关的 WWDC 2014视频(我认为这是 Building Interruptible and Responsive Interactions)。

    关于ios8 - iOS 8动画错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24472663/

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