iPhone – 旋转木马

我在我的应用程序中使用开源, iCarousel带来轮播控件。 我使用的轮播类型是iCarouselTypeRotary ,图像在这种类型中线性排列。 但是,我需要像附加图像中的旋转木马一样带来图像。 我应该怎么做才能使我的旋转木马在下图中的样式中略微倾斜到顶视图? 请帮助。 提前致谢。

在此处输入图像描述在此处输入图像描述

您可以手动实现3D倾斜:

iCarousel.m574

 return CATransform3DTranslate(transform, radius * sin(angle), 0.0f, radius * cos(angle) - radius); 

改成:

 float tilt = MAX_TILT_VALUE * cos(angle); // greater angle means greater vertical offset return CATransform3DTranslate(transform, radius * sin(angle), tilt, radius * cos(angle) - radius); 

要使代码清晰且可重复使用, iCarouselOptionArc倾斜偏移实现为选项(类似于iCarouselOptionArc )。

PS:如果你想要透视缩放,你需要添加与cos(angle)相似的缩放变换,类似于tilt

使用样式检查: iCarouselTypeWheel使用水平轮设置您想要的方向盘半径。 我是用垂直轮式做的。 但我认为它应该如上所述使用水平轮型。