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

Swift下使用Storyboard时,普通tarBarItem错位 #360

Closed rxvincent closed 5 years ago

rxvincent commented 5 years ago

Base Info for this issue

  1. Version:v1.19
  2. Language:Swift
  3. iOS System Version:iOS12
  4. Prototype(是否是真机):YES
  5. Issue Type:Bug、Q-A

1. How to reproduce the problem.

使用Storyboard以及Swift,在VC中注册了PlusButton但没有使用plusChildViewController

2. Please help me in this way.

符合复现步骤的前提下,item的布局出现错误 假设屏幕宽度375,两个ITEM,无PLUS按钮的情况下两个ITEM分别是 x:0 w:187.5 x:187.5 w:187.5 注册了一个宽度100的PLUS按钮的情况下,理论上应该是这样 x:0 w:137.5 (PLUS按钮 x:137.5 w:100) x:237.5 w:137.5

但在不使用plusChildViewController的情况下,在文件CYLTTabBar.m文件中 约228行的位置,没有将计算后的tabBarItemWidth赋值到TabBar中,导致实际布局为 x:0 w:187.5 (PLUS按钮 x:137.5 w:100) x:237.5 w:187.5 导致所有tabBarItem中的图标都往右偏离

个人解决方法是修改源码,将218行的 self.tabBarItemWidth = CYLTabBarItemWidth; 复制到else下方的逻辑就可以解决了,不知道为什么在不使用plusChildViewController的时候不会将计算好的宽度赋值

3. Here is a Demo.

4. Here is my Debug log

ChenYilong commented 5 years ago

你不是用的最新版本吧,最新版本已经没有self.tabBarItemWidth = CYLTabBarItemWidth; 这个逻辑了,你更新到最新版本试试。

rxvincent commented 5 years ago

已解决,方便的话麻烦修改一下readme,感谢