Closed 200895045 closed 6 years ago
我重写了下面这个方法,切换后字体可以变成粗体了,但首次启动时默认选中项的字体还是不正确
//重写Tab Cell切换方法,设置标题字体
(void)pagerTabBar:(TYTabPagerBar )pagerTabBar transitionFromeCell:(UICollectionViewCell
if (self.tabBar.layout.pagerTabBar.countOfItems == 0) { return; } void (^animateBlock)(void) = ^{ if (fromCell) { fromCell.titleLabel.font = self.tabBar.layout.normalTextFont; fromCell.titleLabel.textColor = self.tabBar.layout.normalTextColor; fromCell.transform = CGAffineTransformMakeScale(self.tabBar.layout.selectFontScale, self.tabBar.layout.selectFontScale); } if (toCell) { toCell.titleLabel.font = self.tabBar.layout.selectedTextFont; toCell.titleLabel.textColor = self.tabBar.layout.selectedTextColor ? self.tabBar.layout.selectedTextColor : self.tabBar.layout.normalTextColor; toCell.transform = CGAffineTransformIdentity; } }; if (animated) { [UIView animateWithDuration:self.tabBar.layout.animateDuration animations:^{ animateBlock(); }]; } else { animateBlock(); } }
还不支持设置字体的粗细,因为字体大小的变化是通过transform
是因为在pagerbarlayout文件中,有个地方作者写错了
} 修改这个就好了
我是继承的: TYTabPagerController 1、如果默认与选中字体都设置为粗体,显示是正常的。 2、设置默认字体为正常的系统字体,选中字体为粗体,结果不起作用 self.tabBar.layout.normalTextFont = [UIFont systemFontOfSize:20]; self.tabBar.layout.selectedTextFont = [UIFont boldSystemFontOfSize:20];