0

我是 ios 的新手。我正在调试代码,我已经通过以下几行我不理解功能。如果有人理解,请告诉我。

- (void)prepareForSegue: (UIStoryboardSegue *) segue sender: (id) sender{

   if ( [segue isKindOfClass: [SWRevealViewControllerSegue class]] ) {

        SWRevealViewControllerSegue *swSegue = (SWRevealViewControllerSegue*) segue;
      __typeof(self) __weak weakSelf = self;

      swSegue.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc){

            UINavigationController* navController = (UINavigationController*) weakSelf.revealViewController.frontViewController;
            [navController setViewControllers: @[dvc] animated: NO ];
            [weakSelf.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];

      };

    }

}
4

1 回答 1

4

您可以使用“prepareForSegue”方法推送到新的视图控制器

但是在这段代码中,在 Destination viewcontroller 的 Push 期间,将执行 Custom segue 来代替原生动画

SWRevealViewControllerSegue 是自定义 segue 的类,你可以在那里看到推送动画代码。

于 2014-05-09T05:25:02.787 回答