IOS风扇式旋转木马

时间:2011-11-29 18:32:31

标签: ios carousel

我正在使用iCarousel(http://cocoacontrols.com/platforms/ios/controls/icarousel

构建IOS应用

我想改造旋转木马,让它看起来像一个“风扇”。所以,所有的牌都将在顶部的一个ponit中加入,你可以滚动牌。

我的客户从Absolut的Drinkspiration获得了这个想法:

Drinkspiration screenshot

如何更改轮播以获得此“效果”

感谢您的帮助

1 个答案:

答案 0 :(得分:4)

你走了:

- (CATransform3D)carousel:(iCarousel *)_carousel transformForItemView:(UIView *)view withOffset:(CGFloat)offset
{
    CGFloat radius = 400.0f;
    CGFloat angle = 0.5f; // in radians

    CATransform3D transform = CATransform3DIdentity;
    transform = CATransform3DTranslate(transform, 0.0f, -radius, 0.0f);
    transform = CATransform3DRotate(transform, -angle * offset, 0.0f, 0.0f, 1.0f);
    return CATransform3DTranslate(transform, 0.0f, radius, 0.0f);
}

半径和角度针对iCarousel附带的示例应用进行了优化,因此您需要为您的应用调整它们。您还需要返回numberOfVisibleItems为3,否则如果轮播中有太多,则视图将自动换行并重叠。

更新:

这种类型的轮播现在内置于iCarousel库中。只需使用iCarouselTypeWheel。