IOS10下HMSegmentedControl文字不显示解决方案

作者:笑楔信  来自

最近IOS10升级了,XCode中iphone7模拟器可用了,运行的时候发现HMSegmentControl分段控件小于2个字的分段中文字都没了。通过debug觉得原来的CATextLayer可能有点问题了,于是我的修改思路定位在用UILabel替换CATextLayer.

具体修改方式:

1、找到(NSAttributedString*)attributedTitleAtIndex:(NSUInteger)index方法,找到dict[NSForegroundColorAttributeName] = (id)titleColor.CGColor,把.CGColor去掉,因为UILabel的富文本不支持CGColor。

2、- (void)drawRect:(CGRect)rect:把317行(1.5.2/1.5.3中)CATextLayer用UILabel替换掉,替换的代码如下:

UILabel *titleLayer = [[UILabel alloc]initWithFrame:rect];

titleLayer.textAlignment = NSTextAlignmentCenter;

titleLayer.attributedText = [selfattributedTitleAtIndex:idx];

[self.scrollView addSubview:titleLayer];

我在最近文章中介绍了最新发现的解决方案,只需要添加一句话即可解决此bug

你可能感兴趣的:(IOS10下HMSegmentedControl文字不显示解决方案)