iOS:横向使用iPhone默认的翻页效果

9 篇文章 0 订阅
9 篇文章 0 订阅

大致思路使用两层辅助UIView的旋转来实现添加后的View的横向翻页效果

    CATransform3D transformA = CATransform3DRotate(CATransform3DIdentity, degreesToRadian(90), 0, 0, 1.0f);
    CATransform3D transformB = CATransform3DRotate(CATransform3DIdentity, degreesToRadian(180), 0.0f, 1.0f, 0.0f);
    bgview.layer.transform = CATransform3DConcat(transformA, transformB);
   
    CATransform3D transform3DA = CATransform3DRotate(CATransform3DIdentity, degreesToRadian(90), 0, 0, 1.0f);
    CATransform3D transform3DB = CATransform3DRotate(CATransform3DIdentity, degreesToRadian(180), 0.0f, 1.0f, 0.0f);
   
    superView.layer.transform = CATransform3DConcat(transform3DA, transform3DB);

 

View的层次:superView──bgView──自己的View

 

    向bgView中添加自己的View(注:要在bgView的subViews多于一个时才有翻页效果)

    [UIView beginAnimations:@"view transition" context:nil];
    [UIView setAnimationDuration:1.0];
    [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:bgView cache:NO];

    [bgView addSubview:viewController.view];

 

 

这样做一是实现了横向翻页,二是保证你自己的View添加之后的方向是正确的,试试就知道为什么非要弄两层来辅助了,至于旋转后的Frame变化问题就看自己的使用情况调整了,尤其注意顶层View(添加进去的View)的Touch事件可能无法识别到,是因为底层View(bg和super View)旋转后的Frame出了问题!!!

不知道有没有其他的好方法,如果各位有更好的方法还望赐教!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值