【发布时间】:2016-08-05 12:21:04
【问题描述】:
我有代码在 UINavigation 控制器堆栈上存储对 3 个 Viewcontrollers(比如类 typeA)的引用,然后所有这些视图控制器都从堆栈中弹出。
稍后单击按钮后,我尝试正常推送 2 个视图控制器,然后对于第 3 个视图控制器,我使用以下方法。
[self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
导航以这种方式发生
classTypeA VC1-- > classTypeA VC2 --> classTypeA VC3 --> "class TypeB VC" --> classTypeA VC1-- > classTypeA VC2 --> classTypeA VC3 --> "class TypeB VC" --> classTypeA VC1-- > classTypeA VC2 --> classTypeA VC3 --> "class TypeB VC"(此时兑现)。
当用户导航缓慢时,此代码运行良好,但如果用户单击按钮较快,则会崩溃并出现异常:
由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'推送相同的视图 控制器实例不支持多次”。
有人可以帮忙吗?
【问题讨论】:
-
添加你的语言标签是客观 C 或 swift
标签: ios objective-c uinavigationcontroller quartz-core