我在我的字典应用程序中使用定制的容器视图控制器。基本上,容器视图控制器在顶部包含一个自定义导航栏(NOT a UINavigationBar
--just a UIView
with back and forward UIButtons
, aUISearchBar
和一个书签UIButton
在右侧),以及底部的标签栏控制器。
我的问题是这样的:我使用后退和前进按钮在其中一个选项卡 (a UINavigationController
) 中推送和弹出视图控制器,以便用户可以浏览字典浏览历史记录。但是,如果我按后退或前进按钮太快,我会在日志窗格中收到此消息,并且某些屏幕根本不会出现:
对 <DefinitionViewController: 0x8e5d230> 的开始/结束外观转换的不平衡调用。
环顾 StackOverflow,我了解到这是因为单击后退或前进按钮太快调用了UINavigatonController
活动选项卡中的 push/pop 方法,但它并没有让动画完成。https://stackoverflow.com/a/17440074/855680
在没有动画的情况下推送或弹出视图控制器可以解决问题,但我确实想保留动画。我该如何解决这个问题?我查看了UINavigationController
类引用,看看是否有任何委托方法或属性表明它在动画中间,但似乎没有。