ChenYilong / CYLTabBarController

[EN]It is an iOS UI module library for adding animation to iOS tabbar items and icons with Lottie, and adding a bigger center UITabBar Item. [CN]【中国特色 TabBar】一行代码实现 Lottie 动画TabBar,支持中间带+号的TabBar样式,自带红点角标,支持动态刷新。【iOS13 & Dark Mode & iPhone XS MAX supported】
MIT License
6.92k stars 1.46k forks source link

重置根视图为CYLTabBarController时,PlusButton会消失,再次重置会出现. #335

Closed yanghuittxs closed 5 years ago

yanghuittxs commented 5 years ago

Base Info for this issue

  1. Version:pod 'CYLTabBarController', '~> 1.17.22'
  2. Language:Objective-C
  3. iOS System Version:iOS12
  4. Prototype(是否是真机):YES
  5. Issue Type:Bug

1. How to repeat the problem.

APP启动,进行registerPlusButton, 登录后设置根视图为CYLTabBarController,设置4个tabbaritem.界面加载完成,PlusButton存在 (a操作) 在第四个item选中的子controller中,根据业务进行了两次push操作, (此时根视图仍为CYLTabBarController)然后在当前界面重置根视图为CYLTabBarController(新的对象),界面回到第一个tabbaritem对应的子controller.

此时,PlusButton消失了.tabbar只剩下4个item了.(必现) 重复a操作 此时,PlusButton又出现了.(必现)

我在a操作中,重置根视图之前,又进行了一次registerPlusButton步骤. 此问题可避免.但是仍然出现极难复现的,无规律的.PlusButton消失 的现象.

2. Please help me in this way.

我的项目业务是,在APP设置界面内,手动设置切换多语言支持后,希望重置根视图回到主界面重新加载视图,但是出现PlusButton消失的现象.无法解决.help!!!

a操作必现的情况,我发现是由于新的CYLTabBarController创建后,当前tabbar进行,layoutsubviews时. PlusButton的superview不是当前tabbar,所以没有进行布局. 所以我在重置根视图之前又进行了一次registerPlusButton步骤.但是出现了上面所说的极难复现 无规律的PlusButton消失 的现象.

无解,请大神帮助

LonfeyLi commented 5 years ago

我的出现这种情况的流程是 :用户退出登录后我会把登录页面设置为根试图 ,登录成功,重新把CYLTabBarController 设置为根试图,这个时候就可能出现plusButton消失的情况

LonfeyLi commented 5 years ago

导致PlusButton消失的主要原因就是重置根试图

TianXuang commented 5 years ago

这个问题可以通过AppDelegate强引用tabbar来解决

ChenYilong commented 5 years ago

我怀疑是没有重新注册 plusButton,每次重制都要重新注册。