ios - 带有平移手势的 CATransition Cube

标签 ios objective-c animation catransition

我正在开发一个应用程序,它在立方体上方显示四个 View ,您可以从右侧和左侧滑动滚动。我已经使用 CATransitions 轻松实现了这种交互,如下所示:

[self.view1 addSubview:nextTo1];
CATransition *animation = [CATransition animation];
[animation setDuration:0.5];
[animation setType:@"cube"];
[animation setSubtype:kCATransitionFromRight];
[animation setTimingFunction:[CAMediaTimingFunctionfunctionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[[self.view1 layer] addAnimation:animation forKey:@"cube"];

然后我用滑动手势连接了所有东西,一切正常。 问题是客户要求平移手势,所以立方体旋转应该在动画期间跟随手指,我真的不知道如何在没有 OpenGL 的情况下实现它(这可能比简单的转换更昂贵) . 有没有一种方法可以更好地控制 CATransition 或我可以用来解决此问题的某些 View 失真函数?

非常感谢,圣诞快乐!!

最佳答案

这样做的一种方法是将 layer.speed 设置为零(这样动画就不会自行移动),并根据从你的平移手势识别器移动。设置 timeOffset 控制动画的进度,当 timeOffset 达到动画持续时间时,它 100% 完成。

这方面的一个例子已经发布在另一个问题的答案中:https://stackoverflow.com/a/22652663/209855

关于ios - 带有平移手势的 CATransition Cube,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20707596/

相关文章:

iphone - 编写父 View Controller 的终极指南

ios - 构建 iOS 项目时出现 Google Cast 2.6.0 错误

ios - iOS 应用程序中的过期购买列表

animation - UIView 动画闪烁与自动反转

javascript - Jquery - 根据条件向左或向右 move 元素

css - 单击标题时在 Knockout 中显示说明

ios - Xamarin 窗体 : How to override the OnBackButtonPressed on iOS

ios - 使用 Codable (Swift) 从 Json 文件中解析 UIColor

objective-c - 将 ObjC 项目添加到 Swift 项目

ios - 使用预填的新电话号码在 iOS 上打开 whatsapp