关闭模式视图控制器与自定义segue
问题描述:
我已经创建了两个自定义segue文件,并在两个,我已经覆盖了perform
方法。但是,似乎只有在呈现新的UIViewController
时,自定义搜索才起作用,而反过来,不会生成动画就会解散源UIViewController
。关闭模式视图控制器与自定义segue
反向定制赛格瑞:
- (void)perform {
UIViewController *sourceViewController = self.sourceViewController;
UIViewController *sourceTabBarController = sourceViewController.parentViewController.parentViewController;
UIViewController *destinationViewController = self.destinationViewController;
UIGraphicsBeginImageContext(destinationViewController.view.bounds.size);
[destinationViewController.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *destinationViewControllerImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageView *destinationViewControllerImageView = [[UIImageView alloc] initWithImage:destinationViewControllerImage];
destinationViewControllerImageView.userInteractionEnabled = YES;
destinationViewControllerImageView.frame = CGRectMake(0.0f, 0.0f, CGRectGetWidth(destinationViewController.view.frame), CGRectGetHeight(destinationViewController.view.frame));
[destinationViewController.view insertSubview:destinationViewControllerImageView atIndex:1];
// Add animations
[UIView animateWithDuration:0.4f
delay:0.0f
options:UIViewAnimationOptionCurveEaseIn
animations:^{
destinationViewControllerImageView.center = CGPointMake(-CGRectGetWidth(destinationViewControllerImageView.frame)/2, -(CGRectGetHeight(destinationViewControllerImageView.frame)/2));
}
completion:nil];
[sourceViewController dismissViewControllerAnimated:NO completion:nil];
}
提前感谢!
答
Segues添加视图控制器的新版本。当我开始时,我有一些有趣的使用segues解雇视图控制器的问题。
您应该在视图控制器中使用自定义动画块,而不是编写自定义动画块。
好吧,我担心可能是这种情况!你会怎么做呢?你会在IBAction中添加解雇代码,那么视图中的uiview动画代码块将会消失吗?因为我厌倦了,动画不运行就被解雇了。顺便说一句,我从故事板中删除了反转段。 – 2012-08-14 15:58:44
你应该做的是让'IBAction'调用视图控制器中的一个方法来解除。在动画的完成块中,关闭控制器(因此动画在控制器被解除之前完成)。 – Dustin 2012-08-14 16:00:41
好了,我有一个'IBAction'容纳'[UIView的animateWithDuration:0.5 延迟:0 选项:UIViewAnimationOptionCurveEaseIn 动画:^ { //我的动画 } 完成:^(BOOL完成){ [自dismissViewControllerAnimated:NO完成:无]; }];'但是,动画不会发生,那么视图控制器就被立即解散。我误解了你的评论吗? – 2012-08-14 16:14:46