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


发布于 2012-09-03 19:44:37
您可以手动实现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:如果你想要透视缩放,你需要添加类似于tilt的依赖于cos(angle)的缩放变换。
发布于 2012-09-03 19:28:02
使用样式进行检查:iCarouselTypeWheel使用水平轮子,根据需要设置轮子的半径。我已经在垂直轮子类型中做到了这一点。但我认为它应该像上面那样使用水平轮子类型。
https://stackoverflow.com/questions/12246237
复制相似问题