无法在没有动画的情况下呈现和关闭视图控制器并获得不平衡调用以开始/结束外观转换
Posted
技术标签:
【中文标题】无法在没有动画的情况下呈现和关闭视图控制器并获得不平衡调用以开始/结束外观转换【英文标题】:Can not present and dissmiss viewcontroller without animation and get Unbalanced calls to begin/end appearance transitions 【发布时间】:2013-12-24 11:43:36 【问题描述】:我正在使用 monotouch 来开发我的 ios 7 应用程序。
在viewWillAppear
方法中,我使用以下代码来呈现和关闭视图控制器:
public override void ViewWillAppear (bool animated)
base.ViewWillAppear (animated);
UIApplication application = UIApplication.SharedApplication;
if (application.StatusBarOrientation != UIInterfaceOrientation.Portrait )
UIViewController c = new UIViewController ();
c.View.UserInteractionEnabled = false;
PresentViewController (c,false ,null );
DismissViewController (false ,null );
//my otyher codes
虽然 Iamd 使用 false
作为 animated
参数,但似乎 c
视图控制器正在呈现或关闭动画。因为我收到unbalanced calls to begin/end appearance transitions
错误。
我不能在viewDidAppear
方法中使用上面的代码,所以我不知道如何解决这个问题。
【问题讨论】:
【参考方案1】:永远不要试图在 willAppear 状态下改变 ViewControllers 的外观。与其随意更改 willAppear 状态,不如尝试在 viewController 呈现之前设置它。
【讨论】:
您能否详细说明“在它出现之前”。我怎样才能在不更改遗嘱的情况下做到这一点?还有其他方法吗? 首先:为什么不同的方向需要不同的viewControllers?你能改变子视图的位置吗?如果您确实需要不同的视图,请尝试创建 2 个不同的视图并将它们添加为子视图以查看您的 viewController以上是关于无法在没有动画的情况下呈现和关闭视图控制器并获得不平衡调用以开始/结束外观转换的主要内容,如果未能解决你的问题,请参考以下文章