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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容