Download Latest Version CYLTabBarController v1.29.0Ban Ben Xiu Fu Fen Ge Xian He LottieDong Hua Bo Fang Yi Chang Deng bugs.tar.gz (11.3 MB)
Email in envelope

Get an email when there's a new version of CYLTabBar Controller

Home / 1.29.0
Name Modified Size InfoDownloads / Week
Parent folder
CYLTabBarController v1.29.0Ban Ben Xiu Fu Fen Ge Xian He LottieDong Hua Bo Fang Yi Chang Deng bugs.tar.gz 2020-05-05 11.3 MB
CYLTabBarController v1.29.0Ban Ben Xiu Fu Fen Ge Xian He LottieDong Hua Bo Fang Yi Chang Deng bugs.zip 2020-05-05 11.5 MB
README.md 2020-05-05 6.5 kB
Totals: 3 Items   22.8 MB 0



今天把 CYLTabBarController 更新到1.29.0, 修了几个issue, 主要是顶部导航栏, 主要修复的功能:

  • TabBar 自定义分割线
  • 隐藏 TabBar 分割线的方法

将更新的代码贴一下:

TabBar 自定义分割线

```Objective-c // NO.1,using Image note:recommended.推荐方式 // set the bar shadow image // without shadow : use -[[CYLTabBarController hideTabBarShadowImageView] in CYLMainRootViewController.m if (@available(iOS 13.0, )) { UITabBarItemAppearance inlineLayoutAppearance = [[UITabBarItemAppearance alloc] init]; // set the text Attributes // 设置文字属性 [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 {
    // Override point for customization after application launch.
    // set the text Attributes
    // 设置文字属性
    UITabBarItem *tabBar = [UITabBarItem appearance];
    [tabBar setTitleTextAttributes:normalAttrs forState:UIControlStateNormal];
    [tabBar setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected];

// // This shadow image attribute is ignored if the tab bar does not also have a custom background image.So at least set somthing. [[UITabBar appearance] setBackgroundImage:[[UIImage alloc] init]]; [[UITabBar appearance] setShadowImage:[[self class] imageWithColor:[UIColor cyl_systemGreenColor] size:CGSizeMake([UIScreen mainScreen].bounds.size.width, 1)]]; } ```

可以使用:

v1.29.0 更新了内部实现, 兼容了 iOS13+ ,和 iOS13- 版本.

Objective-c -[[CYLTabBarController hideTabBarShadowImageView]

其中重要的部分在于找到分割线对应的 View, 实现方法如下:

Java - (UIImageView *)cyl_tabShadowImageView { if (@available(iOS 10.0, *)) { //iOS10及以上这样获取ShadowImageView: UIView *subview = [self cyl_tabBackgroundView]; if (!subview) { return nil; } NSArray<__kindof UIView *> *backgroundSubviews = subview.subviews; //iOS13系统backgroundSubviews.count > 1可行,12及以下就不可行了 if (backgroundSubviews.count >= 1) { for (UIView *subview in backgroundSubviews) { if (CGRectGetHeight(subview.bounds) <= 1.0 ) { return (UIImageView *)subview; } } } } else { //iOS9这样获取ShadowImageView: for (UIView *subview in self.subviews) { if (CGRectGetHeight(subview.bounds) <= 1.0 ) { return (UIImageView *)subview; } } } return nil; }

隐藏 TabBar 分割线的方法

Lottie 动画在某些场景不播放的问题

详情参见 [#423] issue.

fix issues: [#431] [#436] [#492] [#423]

项目地址: https://github.com/ChenYilong/CYLTabBarController

Source: README.md, updated 2020-05-05