我刚尝试在视图控制器之间进行自定义转换。它基本上将下一个旋转到视图中,并且它可以工作。除了源视图控制器在动画完成时短暂地闪回到可见性之外,就像目标视图控制器达到其最终位置一样。
我也收到关于Unbalanced calls to begin/end appearance transitions
的警告,我仍在努力修复 - 我不知道它们是否相关。
有没有人在这里看到跳出来的东西不太正确会导致闪烁?
然后我只是通过故事板编辑器分配了一个按钮来执行自定义segue。
-(void)perform
{
UIViewController *source = self.sourceViewController;
UIViewController *destination = self.destinationViewController;
[source.view addSubview:destination.view];
destination.view.transform = CGAffineTransformMakeRotation(M_PI / 2);
[UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationCurveEaseInOut animations:^{
destination.view.transform = CGAffineTransformMakeRotation(0);
}completion:^(BOOL finished){
[destination.view removeFromSuperview];
[source presentViewController:destination animated:NO completion:NULL];
}];
}
答案 0 :(得分:2)
取出removeFromSuperview。