我正在使用 iCarousel (http://cocoacontrols.com/platforms/ios/controls/icarousel) 构建一个 IOS 应用程序
我想改造旋转木马,让它看起来像一个“风扇”。所以,所有的卡片都会在顶部的一个点上连接起来,你可以滚动卡片。
我的客户从 Absolut 的 Drinkspiration 得到这个想法:
如何更改轮播以产生这种“效果”
感谢您的帮助
Best Answer-推荐答案 strong>
给你:
- (CATransform3D)carouseliCarousel *)_carousel transformForItemViewUIView *)view withOffsetCGFloat)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,否则如果轮播中的 View 过多, View 将环绕并重叠。
更新:
这种类型的轮播现在已内置到 iCarousel 库中。只需使用 iCarouselTypeWheel。
关于IOS范式轮播,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/8315846/
|