多控制器实现单侧滑动(软件侧滑只能左划,不能又划)

来源:互联网 发布:知乎pc客户端下载 编辑:程序博客网 时间:2024/04/29 18:28

/*** 思路:

 

 控制器将要为子控制器布局时,把右侧标签控制器(_rootVC)向左滑动显示事件进行拦截,让其最左显示到x轴为0的位置

 

 */


//将要布局子控制器调用此方法

- (void)viewWillLayoutSubviews

{

    

    //获取_rootVC控制器的transform(不能修改Frame,因为平移手势中修改的是控件的transform,二者不可混用)

    CGAffineTransform rootVCTransform = _rootVC.view.transform;

    

    //判断_rootVC是否将要左划显示

    if (rootVCTransform.tx <0) {

        //修改其transformX值为0,其他值保持不变(保证_rootVC控制器最左滑动到X0的位置)

        _rootVC.view.transform = CGAffineTransformMake(rootVCTransform.a, rootVCTransform.b, rootVCTransform.c, rootVCTransform.d,0, rootVCTransform.ty);

    }

    

}