我正在考虑实现一些自定义IOS7过渡。对于example these here。
在此示例中按下按钮时,将运行以下命令:
-(void)showNewController:(id)sender{
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:[NSBundle mainBundle]];
UIViewController* controller = [storyboard instantiateViewControllerWithIdentifier:@"PresentedViewController"];
if(sender == self.button1){
self.animationController = [[ZoomAnimationController alloc] init];
}else{
self.animationController = [[DropAnimationController alloc] init];
}
controller.transitioningDelegate = self;
[self presentViewController:controller animated:YES completion:nil];
}
问题
我正在尝试了解将信息传递给新UIViewController
的正确位置。举个例子,我试图将UIImage传递给新的(将要呈现的)视图控制器。
通常我会在prepareForSegue
方法中完成此操作,但由于这不是一个segue,传递数据的正确方法是什么。
我可以简单地添加以下内容:
controller.passingImage = self.imageToPass;
在IOS7中使用自定义转换时,这是正确的处理过程吗?
答案 0 :(得分:1)
在iOS 7中使用新的自定义动画过渡时,设置视图控制器的方式不会改变。因此,如果您使用的是故事板,您仍然可以在prepareForSegue中设置视图控制器(包括设置transitioningDelegate)。 p>
有关使用情节提要的自定义动画过渡的示例,请参阅以下示例代码。它是WWDC会话218的示例代码的实现:使用视图控制器的自定义转换。看看SOLViewController.m开始吧。