这里记得要复原一下3D变换,不然滑快了会出现页面错乱
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
//改变选中页序号
[self changeIndex];
//3D变幻恢复原状态
for (UIView * view in _viewArray) {
view.layer.transform=CATransform3DIdentity;
}
}
对了,记得添加一个很重要的透视变换函数,核心在于仿射矩阵的m34属性,这样才会产生远小近大的3D效果,让动画更炫酷
//3D透视函数
CATransform3D CATransform3DMakePerspective(CGPoint center, float disZ)
{
CATransform3D transToCenter = CATransform3DMakeTranslation(-center.x, -center.y, 0);
CATransform3D transBack = CATransform3DMakeTranslation(center.x, center.y, 0);
CATransform3D scale = CATransform3DIdentity;
scale.m34 = -1.0f/disZ;
return CATransform3DConcat(CATransform3DConcat(transToCenter, scale), transBack);
}
这一篇文章就到这里了,大家有什么意见和问题记得及时反馈,希望本文对大家开发IOS有所帮助。
注:相关教程知识阅读请移步到IOS开发频道。










