Warning: Attempt to present * on * which is already presenting *


Warning: Attempt to present (要被presented的控制器)  on (哪个控制器来presenting) which is already presenting (已经被presenting的控制器)

self: 是被presented出来的控制器,

self.presentingViewController: 看看是谁把self给presenting出来

RPLog(@"%@ - %@", self.presentingViewController, [UIApplication sharedApplication].keyWindow.rootViewController);

打印结果: <RPNavigationController: 0x789d0330> - <RPNavigationController: 0x789d0330>

结论: popover中的控制器, 其实是通过窗口的根控制器presenting出来的, 所以要想窗口的根控制器再presenting其他控制器,需要先dismiss掉原来presenting的控制器,

        否则会出现如下错误:

        Warning: Attempt to present <RPNavigationController: 0x790dad10>  on <RPNavigationController: 0x78e76c70> which is already presenting <RPRegionViewController: 0x78f76700>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM