如何将 iCarousel 的当前视图置于 iCarouselTypeWheel 中其他视图的顶部

StackOverflow https://stackoverflow.com//questions/22011515

  •  21-12-2019
  •  | 
  •  

我想创建一个类似于“http://www.asianpaints.com/royale“在iOS中,到目前为止我已经使用了 iCarousel 类型: iCarouselTypeWheel. 。它几乎对我有用,但主要问题是中心视图与下一个元素重叠。请让我知道如何修复。

预先感谢您的任何帮助。

有帮助吗?

解决方案

您实际上需要更改 z 变换值(即返回值) CATransform3DTranslate 函数于 transformForItemViewWithOffset 方法。但这有点hacky。

去做这个,

  • 打开你的 iCarousel.m 文件
  • 寻找 -(CATransform3D)transformForItemViewWithOffset:(CGFloat)offset 方法
  • 在 - 的里面 switch case 声明,转到 iCarouselTypeWheel 在其他部分,您需要更改该行

    return CATransform3DTranslate(transform, 0.0f, -radius, offset * 0.01f);
    

    return CATransform3DTranslate(transform, 0.0f, -radius, 0.0f);
    

保存文件并运行项目,看看是否能得到所需的结果。

其他提示

标准轮组“第一个”元素位于最左边或最右边的位置,因此如果您想轮播从顶部开始,则需要将轮播类型设置为 iCarouselTypeCustom 并提供变换 carousel:itemTransformForOffset:baseTransform: 您可以将 iCarousel 源的转换作为基础

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top