0
即時通訊嘗試實現一個自定義轉換樣式淡入新的Viewcontroller通過使用自定義segue和實現segue類。 我幾乎設法實現這一點,但每次我運行該應用程序,我得到的警告/錯誤:自定義UIViewController通過使用自定義segue類TransitionTo
「非平衡調用開始/結束外觀轉換」。
儘管應用程序一直運行得很好,但在動畫過程中有一點閃爍。
這裏是我的代碼:
@implementation BlurredFadeSague
- (void)perform{
UIViewController *sourceViewController = self.sourceViewController;
UIViewController *destinationViewController = self.destinationViewController;
[sourceViewController.view addSubview:destinationViewController.view];
destinationViewController.view.alpha = 0.0f;
[UIView animateWithDuration:0.5f
delay:0.1f
options:UIViewAnimationOptionCurveLinear
animations:^{
destinationViewController.view.alpha = 1.0;
}
completion:^(BOOL finished){
[destinationViewController.view removeFromSuperview];
[sourceViewController presentViewController:destinationViewController animated:NO completion:NULL];
}];
}
@end
和我所說的過渡形成這樣一個IBAction爲:
[self performSegueWithIdentifier:@"blurred" sender:self];
但是我得到的康壽警告/錯誤:
Unbalanced calls to begin/end appearance transitions for
<DeviceControlViewController: 0x17597050>.
將非常高興的任何幫助, 最好的vinc。
我不知道你是否仍然在與這個問題鬥爭,但我猜你會得到這個錯誤,因爲你不告訴UIKit你正在移動viewcontrollers。當viewcontrollers移動到其他窗口或parentviewcontrollers,你應該通知['willMoveToParentViewController:'](http://apple.co/1VPJEqM)或['willMoveToWindow:'](http://apple.co/ 1Mr2qDx),使用'nil'來指示它何時被刪除。 – vrwim 2016-04-12 07:17:56