gpt4 book ai didi

objective-c - 当我在 iOS 中旋转对象时,如何使它们从一侧出现? (代码+ gif)里面

转载 作者:搜寻专家 更新时间:2023-11-01 06:41:08 24 4
gpt4 key购买 nike

当我在 iOS 中旋转对象时,如何使对象从(仅一侧)出现?

我想要发生的事情,(如您所见,我可以向我的 UITableview 单元格添加另一张脸)

enter image description here

这是怎么回事,我什至无法添加另一张脸,因为之前的脸又出现了

enter image description here

我正在使用的代码

func animate()
{
var id = CATransform3DIdentity
id.m34 = -1.0 / 1000

var transformAnim = CAKeyframeAnimation(keyPath:"transform")
transformAnim.values = [
NSValue(CATransform3D: CATransform3DRotate(id, 0 * CGFloat(-M_PI_2), 0, 1.0, 0)),
NSValue(CATransform3D: CATransform3DRotate(id, 1 * CGFloat(-M_PI_2), 0, 1.0, 0)),
NSValue(CATransform3D: CATransform3DRotate(id, 0 * CGFloat(-M_PI_2), 0, 1.0, 0))
]
transformAnim.keyTimes = [0, 0.5, 1.0]
transformAnim.duration = 0.7

self.imageViewLogo.layoutIfNeeded()

self.imageViewLogo.layer.addAnimation(transformAnim, forKey: "transform")
}

例如,如果您知道 3ds max 中称为 [force 2 sided] 的功能,我想在这里关闭它,但 iOS 似乎没有这样的功能。

  • 这是一个高级问题,我希望专家能回答我。

谢谢。

编辑

如果您仍然不确定我在问什么,我的意思是:

how to make an object to show only from one side when i rotate it ?

最佳答案

这是一个标准的翻转过渡。查看 UIView 方法 +transitionFromView:toView:duration:options:completion:,特别是 UIViewAnimationOptionTransitionFlipFromLeftUIViewAnimationOptionTransitionFlipFromRight 设置。

如果您想翻转到不同的 View Controller ,还有一个 View Controller 转换。

如果您想自己构建此动画,则需要做更多的工作。

你要做的是创建 2 个独立的动画,一个用于正面,一个用于背面:

首先,您将正面设置为旋转 90 度的动画,此时它会消失,因为您正在从侧面查看它。那时你添加你的后半 View /图层,但面向另一个方向。然后在第二个动画中,将新 View 旋转 90 度,使其保持平整且面朝上。可以得到一个无缝的动画,为您提供您想要的效果,但是编写代码很困难,也很繁琐。

关于objective-c - 当我在 iOS 中旋转对象时,如何使它们从一侧出现? (代码+ gif)里面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35240951/

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