Ios 在当前动画完成之前已启动dismissViewControllerAnimated

Ios 在当前动画完成之前已启动dismissViewControllerAnimated,ios,objective-c,uiviewcontroller,Ios,Objective C,Uiviewcontroller,我有一个由segue事件显示的UIViewController对象。 此对象处理条形码扫描,并启动dismissViewControllerAnimated方法返回上一个视图控制器。 如果立即扫描条形码(在segue动画完成且self.isBeingPresented==true之前),则dismissViewControllerAnimated无法运行 (警告:在演示或取消过程中尝试取消视图控制器!) 如何延迟调用或取消演示动画,然后再调用dismissviewcontorleranimate

我有一个由segue事件显示的
UIViewController
对象。
此对象处理条形码扫描,并启动
dismissViewControllerAnimated
方法返回上一个视图控制器。
如果立即扫描条形码(在segue动画完成且
self.isBeingPresented==true
之前),则
dismissViewControllerAnimated
无法运行

(警告:在演示或取消过程中尝试取消视图控制器!)


如何延迟调用或取消演示动画,然后再调用
dismissviewcontorleranimated

仅应在显示视图后运行条码扫描代码,以确保在此之前不会扫描条码


因此,假设您的条形码在
viewDidLoad
上运行。你应该把它移到
viewdide

可能是@Neeku的副本,那篇文章没有回答我的问题。如何延迟dismissViewControllerAnimated或取消演示动画?您可以延迟设置计时器:但是延迟并不能解决您的问题。如果你想有一个合适的代码,你必须用正确的方法来做。还有很多其他的帖子在讨论同样的问题。