3

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

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

4

2 回答 2

5

您可以手动实现 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)。

PS:如果你想要透视缩放,你需要添加cos(angle)类似于tilt.

于 2012-09-03T11:44:36.907 回答
0

使用样式检查:iCarouselTypeWheel使用水平轮根据需要设置轮的半径。我已经在垂直轮式中做到了这一点。但我认为它应该使用水平轮式的外观。

于 2012-09-03T11:28:02.027 回答