我正在使用 iCarousel 构建 IOS 应用程序 ( http://cocoacontrols.com/platforms/ios/controls/icarousel )
我想改造旋转木马,让它看起来像一个“风扇”。因此,所有卡片将连接到顶部的一个位置,您可以滚动卡片。
我的客户从 Absolut Drinkspiration 中得到了这个想法:
(来源:blogcdn.com)
如何更改轮播才能达到这种“效果”
感谢您的帮助
给你:
- (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 附带的示例应用程序进行了优化,因此您需要针对您的应用程序调整它们。您还需要返回 3 的 numberOfVisibleItems,否则如果轮播中的项目太多,视图将环绕并重叠。
更新:
这种类型的轮播现已内置到 iCarousel 库中。只需使用 iCarouselTypeWheel。