iPhone - 旋转木马

iOS*_*iOS 3 iphone objective-c carousel ios icarousel

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

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

bri*_*dir 5

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

iCarousel.m:574

return CATransform3DTranslate(transform, radius * sin(angle), 0.0f, radius * cos(angle) - radius);
Run Code Online (Sandbox Code Playgroud)

改成:

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

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

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