我在我的应用程序中使用开源 iCarousel
来实现轮播控件。我使用的轮播类型是 iCarouselTypeRotary
并且图像在这种类型中线性排列。但是,我需要图像像所附图像中的旋转木马一样带来。我应该怎么做才能使我的旋转木马像下图中的样式那样向顶 View 倾斜一点?请帮忙。提前致谢。
最佳答案
您可以手动实现 3D 倾斜:
在iCarousel.m
中:574
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
)。
PS:如果你想要透视缩放,你需要添加依赖于 cos(angle)
的缩放变换,类似于 tilt
。
关于iPhone - 轮播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12246237/