gpt4 book ai didi

iphone - ios:使用 modalTransitionsytle 属性导航到另一个屏幕,使应用程序崩溃

转载 作者:行者123 更新时间:2023-11-28 23:10:25 24 4
gpt4 key购买 nike

我有导航界面,每次使用按下设置按钮时,我都会使用它弹出设置屏幕。

@interface Navigation : UINavigationController
{
}
-(void)popToMainMenuAnimated:(BOOL)animated;

//.m file
-(void)popToMainMenuAnimated:(BOOL)animated
{
UIViewController *element;
for(element in self.viewControllers)
{
if([element isKindOfClass:[MainSettingClass class]]){
self.modalTransitionStyle = UIModalTransitionStylePartialCurl;
[self presentModalViewController:element animated:YES]
}
}
}

应用程序崩溃并出现以下异常。

* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“应用程序试图以模态方式呈现事件 Controller 。”* 首先抛出调用栈:

注意:这不是根屏幕,而是我的应用程序的第三个屏幕。

最佳答案

根据你给的调试日志,我通过搜索找到了原因:
您之前推送的 MainSettingClass 实例既不能再次重新推送到 navigationController 上的数组,也不能以模态方式呈现。您应该创建一个新的 MainSettingClass 实例并呈现它,就像第二个代码片段一样。

HERE是一个相关的问题,提到了 Application tried to present modally an active controller。 :)

-(void)popToMainMenuAnimated:(BOOL)animated
{
UIViewController *element;
for(element in self.viewControllers) {
if([element isKindOfClass:[MainSettingClass class]]) {
self.modalTransitionStyle = UIModalTransitionStylePartialCurl;
[self presentModalViewController:element animated:YES];
break;
}
}
}

但是为什么不加载主菜单而不是pop呢?

-(void)loadMainMenuAnimated:(BOOL)animated
{
MainSettingClass * mainMenuViewController = [[[MainSettingClass alloc] init] autoreleased];
[mainMenuViewController.view setFrame:CGRectMake(0.0f, 0.0f, 320.0f, 480.0f)];
// ...
self.modalTransitionStyle = UIModalTransitionStylePartialCurl;
[self presentModalViewController:mainMenuViewController animated:YES];
}

而且您显示的代码有一些错误:

self.modalTransitionStyle= UIModalTransitionStylePartialCurl;
[self popToViewController:element animated:YES];

self.modalTransitionStyle= UIModalTransitionStylePartialCurl;如果你设置了这个,你需要使用

[self presentModalViewController:yourViewController animated:YES];

不是

[self popToViewController:element animated:YES];

关于iphone - ios:使用 modalTransitionsytle 属性导航到另一个屏幕,使应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8444827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com