【发布时间】:2014-02-25 10:34:10
【问题描述】:
我想在iOS中创建一个类似于“http://www.asianpaints.com/royale”的轮子,到目前为止我使用的是iCarousel类型:iCarouselTypeWheel。它几乎对我有用,但主要问题是中心视图被下一个元素重叠。请告诉我如何解决。
提前感谢您的帮助。
【问题讨论】:
我想在iOS中创建一个类似于“http://www.asianpaints.com/royale”的轮子,到目前为止我使用的是iCarousel类型:iCarouselTypeWheel。它几乎对我有用,但主要问题是中心视图被下一个元素重叠。请告诉我如何解决。
提前感谢您的帮助。
【问题讨论】:
标准轮组“第一个”元素位于最左侧或最右侧位置,因此如果您想轮播从顶部开始,您需要将轮播类型设置为iCarouselTypeCustom 并在carousel:itemTransformForOffset:baseTransform: 中提供变换,您可以从 iCarousel 源获取变换作为基础
【讨论】:
您实际上需要在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);
保存文件并运行项目,看看是否能得到想要的结果。
【讨论】: