自定义视图控制器转换将视图剪辑到边界

Sea*_*dek 5 iphone animation objective-c uiviewcontroller ios8

我有两个视图控制器,自定义翻转动画作为过渡.这是我为转换所遵循的指南:http://www.objc.io/issue-5/view-controller-transitions.html.这样可以正常工作,除了视图剪切到静止时约束视图的边界.在动画期间,视图超出这些边界以模拟某些视角.

我发现UINavigationTransitionView在动画期间有一个添加到子视图树.这将clipsToBounds设置为YES,这是我不想要的.

我可以截取此视图并将clipToBounds更改为NO,方法是将其置于导航控制器委托方法的顶部 navigationController:animationControllerForOperation:fromViewController:toViewController:

UIView *firstSubview = [view.subviews firstObject];
firstSubview.clipsToBounds = NO;
Run Code Online (Sandbox Code Playgroud)

但这充其量只是hacky.是否有设置在视图控制器转换期间禁用clipsToBounds?