在故事板中使用自定义推送Segue

Ali*_*Ali 12 iphone xcode objective-c ios

在iPhone中,当我们在Storyboard中使用push Segue时,它总是导航rightleft.我们可以实现它导航left到的任何机制right,还是down实现top

我知道如何创建CustomSegue,但它不像是一样Push.你能帮助我吗?

Ali*_*Ali 12

如果您正在为iOS 5开发App,您可以创建一个实现UIStoryboardSegue的类(具有自定义segue),然后Perform以这种方式覆盖该方法:

-(void)perform {

    UIViewController *sourceViewController = (UIViewController*)[self sourceViewController];
    UIViewController *destinationController = (UIViewController*)[self destinationViewController];

    CATransition* transition = [CATransition animation];
    transition.type = kCATransitionPush; 
    transition.subtype = kCATransitionFromLeft; 

    [sourceViewController.navigationController.view.layer addAnimation:transition forKey:kCATransition];
    [sourceViewController.navigationController pushViewController:destinationController animated:NO];
}
Run Code Online (Sandbox Code Playgroud)

  • 这很奇怪.在横向(homebutton到左边),即使使用kCATransitionFromLeft,它也会从上到下!如果设备从另一个方向转动(homebutton到右边)它从下到上!!! 任何想法为什么会发生这种情况? (4认同)