iPhone - Carousel

2019-03-31 12:15发布

I use open source, iCarousel in my application to bring the carousel control. The carousel type which I use is iCarouselTypeRotary and the images are arranged linearly in this type. But, I need the images to bring like the carousel in the attached images. What should I do to make my carousel little tilted to the top view as the style in the below images? Kindly help. Thanks in advance.

enter image description here enter image description here

2条回答
放荡不羁爱自由
2楼-- · 2019-03-31 12:28

You can implement 3D tilt manually:

In iCarousel.m: 574

return CATransform3DTranslate(transform, radius * sin(angle), 0.0f, radius * cos(angle) - radius);

change to:

float tilt = MAX_TILT_VALUE * cos(angle); // greater angle means greater vertical offset
return CATransform3DTranslate(transform, radius * sin(angle), tilt, radius * cos(angle) - radius);

To make the code clear and reusable, implement tilt offset as option (similar to iCarouselOptionArc).

PS: If you want perspective scaling, you will need to add scale transform that depends on cos(angle) similarly to tilt.

查看更多
看我几分像从前
3楼-- · 2019-03-31 12:44

Check by using the style:iCarouselTypeWheel use the horizontal wheel set the radius of the wheel as you want. I have done this in vertical wheel type. But i think it should the appearance as above using horizontal wheel type.

查看更多
登录 后发表回答