如何将 iCarousel 的当前视图置于 iCarouselTypeWheel 中其他视图的顶部
题
我想创建一个类似于“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 源的转换作为基础
不隶属于 StackOverflow