【问题标题】:How to bring currentview of iCarousel to the top of other views in iCarouselTypeWheel如何将 iCarousel 的当前视图置于 iCarouselTypeWheel 中其他视图的顶部
【发布时间】:2014-02-25 10:34:10
【问题描述】:

我想在iOS中创建一个类似于“http://www.asianpaints.com/royale”的轮子,到目前为止我使用的是iCarousel类型:iCarouselTypeWheel。它几乎对我有用,但主要问题是中心视图被下一个元素重叠。请告诉我如何解决。

提前感谢您的帮助。

【问题讨论】:

    标签: ios icarousel


    【解决方案1】:

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

    【讨论】:

    • 这其实是正确的答案。不要破解库 - 使用委托提供自定义转换,并从标准轮子实现中复制转换逻辑。
    • 是的,这就是我所做的......使用 iCarouselTypeCustom 类型并实现了逻辑。感谢尼克的伟大图书馆。
    【解决方案2】:

    您实际上需要在transformForItemViewWithOffset 方法中更改CATransform3DTranslate 函数的z 变换值(即返回)。不过这有点骇人听闻。

    为此,

    • 打开您的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);
      

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多