-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
版本v1.29.0 修复分割线和Lottie动画播放异常等bugs #494
Labels
Comments
注意UITabBarAppearance *standardAppearance = [[UITabBarAppearance alloc] init];
//shadowColor和shadowImage均可以自定义颜色, shadowColor默认高度为1, shadowImage可以自定义高度.
standardAppearance.shadowColor = [UIColor cyl_systemGreenColor];
// standardAppearance.shadowImage = [[self class] imageWithColor:[UIColor cyl_systemGreenColor] size:CGSizeMake([UIScreen mainScreen].bounds.size.width, 1)]; |
你好,我这么设置了确实达到了设置分割线的效果,但是 CYLTabBarItemTitlePositionAdjustment设置的偏移量就失效了,是时机问题不对吗?请问下作者,这个问题修复了吗? |
@Lee0820 偏移量相关的代码我没动,是不是不设置分割线就生效了? |
对的,用UITabBarAppearance 设置 ShadowImage,后 CYLTabBarItemTitlePositionAdjustment设置的偏移量就失效了,我在微信也请教过这个问题,不知道是不是系统的bug,13.4.1,我用老api设置分割线也是有效的 [[UITabBar appearance] setShadowImage:,13.3上不行~ |
iOS 13.2.3 顶部横线无法显示,图层也看不到shadowImage. - (void)customizeTabBarAppearance {
[self rootWindow].backgroundColor = [UIColor cyl_systemBackgroundColor];
NSMutableDictionary *normalAttrs = [NSMutableDictionary dictionary];
normalAttrs[NSForegroundColorAttributeName] = [UIColor cyl_systemGrayColor];
NSMutableDictionary *selectedAttrs = [NSMutableDictionary dictionary];
selectedAttrs[NSForegroundColorAttributeName] = [UIColor cyl_labelColor];
if (@available(iOS 13.0, *)) {
UITabBarItemAppearance *inlineLayoutAppearance = [[UITabBarItemAppearance alloc] init];
[inlineLayoutAppearance.normal setTitleTextAttributes:normalAttrs];
[inlineLayoutAppearance.selected setTitleTextAttributes:selectedAttrs];
UITabBarAppearance *standardAppearance = [[UITabBarAppearance alloc] init];
standardAppearance.stackedLayoutAppearance = inlineLayoutAppearance;
standardAppearance.backgroundColor = [UIColor cyl_systemBackgroundColor];
standardAppearance.shadowImage = [[self class] imageWithColor:[UIColor cyl_systemGreenColor] size:CGSizeMake([UIScreen mainScreen].bounds.size.width, 1)];
self.tabBar.standardAppearance = standardAppearance;
} else {
UITabBarItem *tabBar = [UITabBarItem appearance];
[tabBar setTitleTextAttributes:normalAttrs forState:UIControlStateNormal];
[tabBar setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected];
[[UITabBar appearance] setBackgroundImage:[[UIImage alloc] init]];
[[UITabBar appearance] setShadowImage:[[self class] imageWithColor:[UIColor cyl_systemGreenColor] size:CGSizeMake([UIScreen mainScreen].bounds.size.width, 1)]];
}
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
今天把 CYLTabBarController 更新到1.29.0, 修了几个issue, 主要是顶部导航栏,
主要修复的功能:
将更新的代码贴一下:
TabBar 自定义分割线
可以使用:
v1.29.0 更新了内部实现, 兼容了 iOS13+ ,和 iOS13- 版本.
-[[CYLTabBarController hideTabBarShadowImageView]
其中重要的部分在于找到分割线对应的 View, 实现方法如下:
隐藏 TabBar 分割线的方法
Lottie 动画在某些场景不播放的问题
详情参见 #423 issue.
fix issues:
#431
#436
#492
#423
项目地址: https://github.com/ChenYilong/CYLTabBarController
The text was updated successfully, but these errors were encountered: