开发技术文章

iOS开发之字幕描边

2021-11-26  本文已影响0人  chasitu

今天给播放器更换了字幕展示风格,在这里简单记录一下,因为字幕和别的普通UILabel展示有点不一样,因为播放器播放视频的时候有各种颜色,所以就要求不管什么背景颜色下用户都需要清楚的看到字幕,所以首先肯定是不能直接使用单色,我刚开始使用了添加阴影,后来产品说有点不清晰,今天又改成了描边,两个效果对比个人觉得描边效果更好一点

效果

实现

  1. 阴影
        self.layer.shadowColor = UIColor.blackColor.CGColor;
        self.layer.shadowOffset = CGSizeMake(2, 2);
        self.layer.shadowOpacity = 0.8;
        self.layer.shadowRadius = 4;
  1. 描边
- (void)drawTextInRect:(CGRect)rect
{
    CGContextRef c = UIGraphicsGetCurrentContext();
    // 设置描边宽度
    CGContextSetLineWidth(c, 1);
    CGContextSetLineJoin(c, kCGLineJoinRound);
    CGContextSetTextDrawingMode(c, kCGTextStroke);
    // 描边颜色
    self.textColor = [UIColor blackColor];
    [super drawTextInRect:rect];
    // 文本颜色
    self.textColor = [UIColor whiteColor];
    CGContextSetTextDrawingMode(c, kCGTextFill);
    [super drawTextInRect:rect];
}

备注:上面👆🏻的方法是UILabel的方法,所以自定义之后在.m文件中粘贴这个方法和代码就可以,系统会调用不需要单独手动调用

完美

上一篇 下一篇

猜你喜欢

热点阅读