CYLTabBarController
CYLTabBarController copied to clipboard
[Q-A]使用方法询问:正常点击最后一个tabbarItem并push一个新页面后再返回,切换成旁边的tab时,图标未切换
具体流程是这样:
下面的四个tabbar的item使用的是lottie的json文件,正常情况下是这样:
当在“我的”页面随便push一个子页面并返回,这时候切换成旁边的tab时,出现了文字切换了图标并没有切换过来的情况,页面也切换过来了,如图:
多次测试之后发现: 1、如果不注册中加的plusbutton,只有四个常规tab时,不会出现这种问题 2、只有在点击最后一个tab时出现,并且pop回来时只点击它旁边的tab会出现这种情况 3、并非json文件文件的问题,换成其他的图标也有问题
您知道这可能是哪里导致的问题吗??
@ChenYilong demo中并未发现此问题
刚才又试了一会,发现是plusbutton的问题,当我不实现plusChildViewController代理方法,而是给plusbutton添加addTarget方法的时候会出现这种问题。 当我设置了plusbutton 的plusChildViewController,并隐藏addTarget方法后,这个问题消失了,那么请问我不想设置plusChildViewController,只想给plusbutton添加一个点击方法,这种需求下怎么避免这个问题呢?
遇到同样的问题
@theHeroisBack @BeingCode 可以尝试https://github.com/ChenYilong/CYLTabBarController/pull/451
1.28.4版本已经发布,修复该问题.感谢 @inascf 给出的解决方案. 详情: https://github.com/ChenYilong/CYLTabBarController/commit/d4396997b749c710be38e301e388389b90b19a39
您好,我刚才更新了1.28.4 版本,是我写的不对吗?我这里还是有这个问题,能帮忙看看吗?
我的bug还是这样的:
我的代码是这样写的:
不知道是哪里的问题
@theHeroisBack 能给我一个Demo吗,我看看是啥问题,谢谢。
FunctionalTesting.zip @inascf 您好,这是我的demo
@theHeroisBack 我看了一下,你这个能解决,但是产生的原因我还没有搞清楚,等有时间了我再看看,你可以先尝试这么修改试,这个方案可能只适合你。
// 在下面的这个文件中添加
#import "UIControl+CYLTabBarControllerExtention.h"
// 增加一行
- (void)setSelected:(BOOL)selected {
}
当然这个可能只是临时解决方案,等我有时间了,捋顺了在寻找更优的解决方案
@inascf 好的
@theHeroisBack 其实问题就是下面这段代码产生的
- (BOOL)cyl_isSelected {
BOOL isSelected = NO;
NSUInteger tabBarSelectedIndex = self.cyl_tabBarController.selectedIndex;
NSUInteger tabBarChildViewControllerIndex = self.cyl_tabBarChildViewControllerIndex;
BOOL defaultSelected = self.isSelected;
if ((tabBarSelectedIndex == tabBarChildViewControllerIndex) && defaultSelected) {
// 这里会错误的把PlusButton 后面的那个标记为选中状态,所以没有产生动画效果
isSelected = YES;
}
return isSelected;
}
上面的重写只是让isSelected
永远为NO
@inascf 嗯嗯了解,你改完了要发新版本吗?
@theHeroisBack 有时间了我看看吧,这几天比较忙、并且改完需要测试一下对别的有没有影响,你可以先试试这么改能不能修复你的问题,会不会带来新的Bug
@inascf 好的
iPhone 11 上 tababr显示标题和logo重合 怎么解决呀
