【问题标题】:Pushing view onto navigation controller in tab bar controller does not animate将视图推送到标签栏控制器中的导航控制器不会动画
【发布时间】:2018-09-24 08:41:22
【问题描述】:

我有一个非常特殊的问题。

我的设置是一个 UITabBarController 和两个 UINavigationController -> UICollectionViewController 孩子。

  • 如果我在viewDidAppear 中说navigationController.pushViewController(someVC, animated: true),则视图控制器按预期推送。

  • 但是,如果我说navigationController.pushViewController(someVC, animated: true),当点击来自collectionView 的单元格时,会出现视图控制器,但返回时没有动画/交互性(我不能滑动,并且购买按钮使控制器立即消失)。

这真的很令人沮丧,因为我想不出任何解释。为什么从 viewDidAppear 推送时动画和交互性会起作用,但从其他函数推送时却不行?

到底为什么会发生这种情况,我该如何解决或绕过它?

【问题讨论】:

  • 你能分享一下从 cell 委托推送 viewController 的代码吗?
  • @Kamran,经过大量试验,我注意到交互性仅在应用程序打开时可见的选项卡上混乱。它在最初不可见的选项卡中工作得非常好。
  • 您所做的可能与您的collectionViewDelegatedidSelect 方法不同。如果您想获得更多帮助,请分享您的一些代码。
  • @dvp.petrov,问题是,如果我只是将栏设置移动到 viewDidAppear 并且不更改 didSelect 中的任何内容,它就可以工作,所以它与 didSelect 中的内容没有任何关系。您仍然认为代码会有所帮助吗?我将不得不查看旧的 git 版本以检查您是否认为这会有用。

标签: ios swift animation uinavigationcontroller uitabbarcontroller


【解决方案1】:

好吧,我还没有弄清楚是什么导致了这个问题,但我确实找到了一个(相当不方便的)解决方案:在viewDidAppear 中设置标签栏项目。在那之前使用一个简短的闪屏或其他东西。

不过,我不确定最初的问题是什么,所以如果其他人有任何解释,那就太好了!

【讨论】:

    猜你喜欢
    • 2012-06-23
    • 1970-01-01
    • 1970-01-01
    • 2011-09-18
    • 2014-01-11
    • 2011-10-31
    • 2014-12-09
    • 2019-03-11
    • 1970-01-01
    相关资源
    最近更新 更多