ios下presentModalViewController产生的错误。

本文探讨了在iOS开发过程中遇到的一个常见问题:如何正确使用模态控制器避免冲突。通过分析代码示例,揭示了在特定场景下出现的错误提示,并提供了有效的解决方案。同时,解释了为何屏蔽部分代码能够使程序正常运行,深入理解模态控制器的工作原理,对于避免类似错误具有实际指导意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在调试代码的时候,遇到这样的一种情况, 用model方式弹出一个 controller. 代码如下

systemstyleViewController * s = [[systemstyleViewController alloc]init];

    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:s];  

    s.modalPresentationStyle = UIModalPresentationFormSheet ;

    s.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal ;

    [self presentModalViewController:s animated:YES] ;


曝出的错误是

Application tried to present modally an active controller


如果把UINavigationController这行屏蔽掉后,程序能正常运行。 

//  UINavigationController *nav = [[UINavigationController allocinitWithRootViewController:s];


猜想可能是生成Navigationcontroller后,系统就认为它是active的了

但是push却可以

 [self.navigationController pushViewController:s animated:YES];

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值