OGeek|极客世界-中国程序员成长平台

标题: IOS范式轮播 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 18:21
标题: IOS范式轮播

我正在使用 iCarousel (http://cocoacontrols.com/platforms/ios/controls/icarousel) 构建一个 IOS 应用程序

我想改造旋转木马,让它看起来像一个“风扇”。所以,所有的卡片都会在顶部的一个点上连接起来,你可以滚动卡片。

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

Drinkspiration screenshot

如何更改轮播以产生这种“效果”

感谢您的帮助



Best Answer-推荐答案


给你:

- (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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4