使用Storyboard在XCode 4中以模态方式推送视图时出现"开始/结束外观转换的不平衡调用"警告

Vin*_*tro 26 iphone storyboard uinavigationcontroller ios xcode4

经过网上的一些研究没有成功,我来这里问你关于我的警告的问题.

实际上,我有一个带导航控制器的视图V1,我想在V1加载完成后推动模态视图V2.所以我使用的performSegueWithIdentifier方法(我使用的是故事板).这是我的代码:

[self performSegueWithIdentifier:@"showConnexionViewSegue" sender:self];
Run Code Online (Sandbox Code Playgroud)

当我编译时,我得到了这个警告:

Unbalanced calls to begin/end appearance transitions for <UINavigationController: 0x6849b30>
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

Mar*_*ams 57

听起来你可能正在执行segue,-viewWillAppear:从而生成两条-viewWillAppear:没有2条相应-viewDidAppear消息的消息.

尝试执行segue -viewDidAppear.

  • 我通过在`-viewDidLoad`中执行segue遇到了这个问题,我通过在`performSelector:withObject:afterDelay`中调用`performSegue`并延迟为0来解决它,但这很麻烦.这个修复允许我直接在`-viewDidAppear:`中调用`performSegue`.谢谢! (5认同)

Don*_*Lea 5

我遇到了这个问题,但是我所做的就是UIViewController我将一个Segue与一个Segue联系起来UIButton并将其编码成一个nextBtnPressed:函数,所以我实际上是UIViewControllers在按下一个按钮时推了两个新的.将它限制为只有一个segue固定它.但是,我花了一些调查才发现我已经完成了这项工作.


inf*_*oop 5

'不平衡调用开始/结束外观转换'

说动画是在最后一个相关动画没有完成之前开始的.那么,在推新视图控制器之前,你是否弹出任何视图控制器?或者可能会弹出根?如果是,请尝试不使用动画,即[self.navigationController popToRootViewControllerAnimated:NO];

看看这是否解决了这个问题,在我的情况下,这就解决了问题.