iPhone - 轮播
Posted
技术标签:
【中文标题】iPhone - 轮播【英文标题】:iPhone - Carousel 【发布时间】:2012-09-03 10:41:35 【问题描述】:我在我的应用程序中使用开源 iCarousel
来带来轮播控件。我使用的轮播类型是iCarouselTypeRotary
,图像在这种类型中是线性排列的。但是,我需要像附加图像中的轮播一样带来图像。我应该怎么做才能使我的旋转木马像下图中的样式那样稍微倾斜到顶视图?请帮忙。提前致谢。
【问题讨论】:
【参考方案1】:您可以手动实现 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
。
【讨论】:
【参考方案2】:使用样式进行检查:iCarouselTypeWheel
使用水平轮设置所需的轮半径。我已经在垂直轮型中做到了这一点。但我认为它应该使用水平轮式的外观。
【讨论】:
以上是关于iPhone - 轮播的主要内容,如果未能解决你的问题,请参考以下文章