gpt4 book ai didi

ios - UIView animateWithDuration 在 ios8 中没有动画

转载 作者:行者123 更新时间:2023-12-01 18:13:18 32 4
gpt4 key购买 nike

我已经实现了一个自定义 segue 类来模拟没有导航栏的推送转换。诀窍是拍摄快照,将它们添加到 View 中,替换 viewController,移动快照,最后删除它们。这模拟了 viewController 的水平移动,但实际上只移动了两个 UIImagesView。

下面的代码实现了这一点。

self.destinationImageView.frame = offsetFrameD;
self.sourceImageView.frame = offsetFrameS;

//ViewController replacement
[self.sourceViewController presentModalViewController:self.destinationViewController animated:NO];

//Overpose the snapShot who will simulate the transition between vies.
[destinationView addSubview: self.sourceImageView];
[destinationView addSubview: self.destinationImageView];

[UIView animateWithDuration:1.0
delay:0.0
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.destinationImageView.frame = self.finalFrameD;
self.sourceImageView.frame = self.finalFrameS;
}
completion:^(BOOL finished) {
[self.sourceImageView removeFromSuperview];
[self.destinationImageView removeFromSuperview];
}];

此代码适用于 iOS 7。但是,在使用 iOS 8 时,似乎没有执行动画。 destinationImageView 和 sourceImageView 直接移动到 finalPosition(WITHOUT ANIMATING)并且没有调用完成 block ,所以最终都没有移除 UIImageView。

有谁知道应该如何使用 iOS 8 执行动画?

最佳答案

您应该调整自动布局约束而不是框架位置。看看这个解决方案。我希望它有所帮助。
UIView transitionWithView & setting the frame no longer works iOS8

关于ios - UIView animateWithDuration 在 ios8 中没有动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26277109/

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