Xcode 对<;开始/结束外观转换的调用不平衡;RevealController:0xe9069b0>;

Xcode 对<;开始/结束外观转换的调用不平衡;RevealController:0xe9069b0>;,xcode,login,uisplitviewcontroller,loginview,Xcode,Login,Uisplitviewcontroller,Loginview,我在iPad应用程序上使用splitViewController,但在此之前,我有一个登录名,当身份验证成功后,我刷新根视图和详细视图。问题是,一旦我加载了mainview,什么也没有发生,我尝试推送任何视图,但没有事件 当我以模态方式加载登录视图时,我得到了一个错误:“对开始/结束外观转换的不平衡调用 我使用以下方法在mainview(frontViewController)中创建登录视图: -(void)displayLoginView:(BOOL)animated{ LoginView

我在iPad应用程序上使用splitViewController,但在此之前,我有一个登录名,当身份验证成功后,我刷新根视图和详细视图。问题是,一旦我加载了mainview,什么也没有发生,我尝试推送任何视图,但没有事件

当我以模态方式加载登录视图时,我得到了一个错误:“对开始/结束外观转换的不平衡调用

我使用以下方法在mainview(frontViewController)中创建登录视图:

-(void)displayLoginView:(BOOL)animated{
 LoginView *loginController = [[LoginView alloc] initWithNibName:@"LoginView" bundle:nil];
[self presentModalViewController:loginController animated:YES];
}

self.navigationItem.rightBarButtonItem=[[UIBarButtonItem alloc]initWithTitle:@“注销”样式:uiBarbuttonItems样式有边框的目标:自我操作:@selector(Logout)]; //如果尚未登录,则显示登录视图 [自显示登录视图:否]; }

}

和appdelegate.m:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

FrontViewController *frontViewController;

RearViewController *rearViewController;

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){

 frontViewController = [[FrontViewController alloc]           initWithNibName:@"FrontViewController_iPhone" bundle:nil];

 rearViewController = [[RearViewController alloc] initWithNibName:@"RearViewController_iPhone" bundle:nil];
}
else{
    frontViewController = [[FrontViewController alloc] initWithNibName:@"FrontViewController_iPad" bundle:nil];

    rearViewController = [[RearViewController alloc] initWithNibName:@"RearViewController_iPad" bundle:nil];
}

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:frontViewController];
    RevealController *revealController = [[RevealController alloc] initWithFrontViewController:navigationController rearViewController:rearViewController];
self.viewController = revealController;
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}

有人能帮我吗


事先非常感谢!

检查您的
视图将显示:动画:,视图显示:动画:,视图将消失:动画:,和视图消失:动画:
方法,要么您不实现它们,要么您必须调用[super view did…]。
我有相同的pb,原因是应该自动旋转指针FaceOrientation:其中一个返回false,而其他返回true,我将它们设置为返回相同的an,一切正常。

检查您的
视图将显示:动画:,视图显示:动画:,视图将消失:动画:,以及视图显示消失:动画:
方法,或者你不实现它们,或者你必须调用[super viewDid…]。
我有相同的pb,原因是shouldAutoRotateToInterfaceOrientation:其中一个返回false,而其他返回true,我将它们设置为返回相同的an,这是正常的。

我完全忘记了在这两种方法中调用super…我有一个带有嵌入式导航控制器的tabBarController,在tabBarController中我已覆盖ViewWillDisplay和ViewDidDisplay,但未调用[super ViewWillDisplay]和[super ViewDidDisplay]这就是导致此消息出现的原因,也是动画不流畅的原因。谢谢Abzamon,我希望你能尽快接受你的答案:)我和Roger有完全相同的问题。谢谢Abzamon,这解决了它!不是正确的答案。这更多地与被叫人说它没有收到正确的外观过程而查看外观有关在这两种方法中,我完全忘记了调用super…我有一个带有嵌入式导航控制器的tabBarController,在tabBarController中,我覆盖了ViewWillDisplay和ViewDidDisplay,但没有调用[super ViewWillDisplay]和[super ViewDidDisplay]这就是导致此消息出现的原因,也是动画不流畅的原因。谢谢Abzamon,我希望你能尽快接受你的答案:)我和Roger有完全相同的问题。谢谢Abzamon,这解决了它!不是正确的答案。这更多地与被叫人说它没有收到正确的外观过程而查看外观有关杜尔。
-(void)logout{
[self displayLoginView:YES];
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

FrontViewController *frontViewController;

RearViewController *rearViewController;

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){

 frontViewController = [[FrontViewController alloc]           initWithNibName:@"FrontViewController_iPhone" bundle:nil];

 rearViewController = [[RearViewController alloc] initWithNibName:@"RearViewController_iPhone" bundle:nil];
}
else{
    frontViewController = [[FrontViewController alloc] initWithNibName:@"FrontViewController_iPad" bundle:nil];

    rearViewController = [[RearViewController alloc] initWithNibName:@"RearViewController_iPad" bundle:nil];
}

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:frontViewController];
    RevealController *revealController = [[RevealController alloc] initWithFrontViewController:navigationController rearViewController:rearViewController];
self.viewController = revealController;
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;