diff --git a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m index d48b005..7c03242 100644 --- a/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m +++ b/TYPagerControllerDemo/TYPagerController/TabPager/TYTabPagerBarLayout.m @@ -204,12 +204,12 @@ - (void)transitionFromCell:(UICollectionViewCell *)fr if (fromCell) { fromCell.titleLabel.font = _normalTextFont; fromCell.titleLabel.textColor = _normalTextColor; - fromCell.transform = CGAffineTransformMakeScale(_selectFontScale, _selectFontScale); + fromCell.transform = CGAffineTransformIdentity; } if (toCell) { toCell.titleLabel.font = _normalTextFont; toCell.titleLabel.textColor = _selectedTextColor ? _selectedTextColor : _normalTextColor; - toCell.transform = CGAffineTransformIdentity; + toCell.transform = CGAffineTransformMakeScale(1/_selectFontScale,1/ _selectFontScale); } }; if (animate) { @@ -226,9 +226,13 @@ - (void)transitionFromCell:(UICollectionViewCell *)fr if (_pagerTabBar.countOfItems == 0 || !_textColorProgressEnable) { return; } - CGFloat currentTransform = (1.0 - _selectFontScale)*progress; - fromCell.transform = CGAffineTransformMakeScale(1.0-currentTransform, 1.0-currentTransform); - toCell.transform = CGAffineTransformMakeScale(_selectFontScale+currentTransform, _selectFontScale+currentTransform); + + + // progress 0 --> 1 // from 1/_selectFontScale -> 1 + CGFloat scale1 = (1 - 1 / _selectFontScale) * progress + 1 / _selectFontScale; + CGFloat scale2 = (1 / _selectFontScale - 1) * progress + 1; + fromCell.transform = CGAffineTransformMakeScale(scale1, scale1 ); + toCell.transform = CGAffineTransformMakeScale(scale2, scale2) ; if (_normalTextColor == _selectedTextColor || !_selectedTextColor) { return; diff --git a/TYPagerControllerDemo_swift.xcodeproj/project.xcworkspace/xcuserdata/sunset.xcuserdatad/UserInterfaceState.xcuserstate b/TYPagerControllerDemo_swift.xcodeproj/project.xcworkspace/xcuserdata/sunset.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..9e2bcdf Binary files /dev/null and b/TYPagerControllerDemo_swift.xcodeproj/project.xcworkspace/xcuserdata/sunset.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/TYPagerControllerDemo_swift.xcodeproj/xcuserdata/sunset.xcuserdatad/xcschemes/xcschememanagement.plist b/TYPagerControllerDemo_swift.xcodeproj/xcuserdata/sunset.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..7653099 --- /dev/null +++ b/TYPagerControllerDemo_swift.xcodeproj/xcuserdata/sunset.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + TYPagerControllerDemo_swift.xcscheme + + orderHint + 0 + + + +