Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone &引用;开始/结束外观转换的调用不平衡”;在带有情节提要的XCode 4中以模式方式推送视图时出现警告_Iphone_Ios_Xcode4_Uinavigationcontroller_Storyboard - Fatal编程技术网

Iphone &引用;开始/结束外观转换的调用不平衡”;在带有情节提要的XCode 4中以模式方式推送视图时出现警告

Iphone &引用;开始/结束外观转换的调用不平衡”;在带有情节提要的XCode 4中以模式方式推送视图时出现警告,iphone,ios,xcode4,uinavigationcontroller,storyboard,Iphone,Ios,Xcode4,Uinavigationcontroller,Storyboard,在网上做了一些没有成功的研究之后,我来这里问你关于我的警告的问题 实际上,我有一个带有导航控制器的视图V1,我想在V1完成加载后推送一个模式视图V2。 所以我使用了performsguewithidentifier方法(我使用的是故事板)。 这是我的密码: [self performSegueWithIdentifier:@"showConnexionViewSegue" sender:self]; 当我编译时,我得到了以下警告: Unbalanced calls to begin/end a

在网上做了一些没有成功的研究之后,我来这里问你关于我的警告的问题

实际上,我有一个带有导航控制器的视图V1,我想在V1完成加载后推送一个模式视图V2。 所以我使用了
performsguewithidentifier
方法(我使用的是故事板)。 这是我的密码:

[self performSegueWithIdentifier:@"showConnexionViewSegue" sender:self];
当我编译时,我得到了以下警告:

Unbalanced calls to begin/end appearance transitions for <UINavigationController: 0x6849b30>
对开始/结束外观转换的不平衡调用

有人能帮我吗?

听起来您可能正在执行
-viewwilldisease:
中的步骤,从而生成两条
-viewwilldisease:
消息,但没有两条相应的
-viewdidisease
消息


尝试在
-viewDidDisplay
中执行segue,我遇到了这个问题,但我所做的是在
UIViewController上执行segue,我链接了一个
UIButton
中的segue,并将其编码为一个
nextBtnPressed:
函数,因此我实际上是在按一个按钮时按下了两个新的
UIViewController
。将其限制为仅一个segue修复了它。但是,我花了一些时间调查,才发现我做了这个加倍。

原因是多方面的,并且非常特定于上下文和编程。例如,我当时所做的是

  • 初始化声音文件,将其(异步)播放1.4秒
  • 使用持续1.4秒的动画使图像在屏幕上移动
  • 将计时器设置为步骤2后的1.4秒,按下viewcontroller
  • 我发现,如果我没有这3个步骤的说明(如果我把它们弄混了),那么我会得到错误“不平衡调用…”。此外,如果我将viewcontroller的按下时间设置为小于1.4秒,我也会收到消息


    因此,请检查您的程序指令的顺序和计时是否正确。

    '

    表示动画在最后一个相关动画未完成之前启动。 那么,在推新的视图控制器之前,是否要弹出任何视图控制器? 或者可能正在生根发芽?如果是,请尝试在没有动画的情况下执行此操作 i、 e.[自导航控制器PoptorootViewController激活:否]


    看看这是否解决了问题,在我的例子中,这就成功了。

    我在
    -viewDidLoad
    中执行segue时遇到了这个问题,我在
    performSelector:withObject:afterDelay
    中调用
    performsgue
    来解决这个问题,延迟为0,但这很混乱。此修复程序允许我直接在
    -viewdide:
    中调用
    performsgue
    。谢谢在viewdidload中有一个pop呼叫。将调用移动到ViewDidDisplay中,并为我修复了它。
    -ViewDidDisplay:
    UIViewController
    上的一个方法,可以在
    UIViewController
    子类中重写。视图出现在屏幕上后,
    -viewdide:
    消息将发送到视图控制器。您是最好的。救了我一天。Thax非常感谢分享这一点。