作者:笑楔信 来自简书
最近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];
网友评论