IOS10下HMSegmentedControl文字不显示解决方

作者: 笑楔信 | 来源:发表于2016-11-04 12:44 被阅读52次

    作者:笑楔信  来自简书

    最近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文字不显示解决方

        本文链接:https://www.haomeiwen.com/subject/fiaiuttx.html