文字阴影效果

本文探讨了在iOS开发中优化label绘制位置以避免阴影干扰的方法,通过调整绘制坐标和使用不同字体大小实现了视觉上的改善。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


原来一个label 绘制2次  位置偏离,造成阴影



-(void) drawRect:(CGRect)rect 

{

    if ((self.titleString )&&([self.titleString  length] > 0))

    {        

        CGContextRef context = UIGraphicsGetCurrentContext();

        

        UIFont *font = [UIFont fontWithName:@"AmericanTypewriter-Bold" size:18.0];

        CGSize size = [titleString_ sizeWithFont:font];

        CGContextSetRGBFillColor(context, 100.0/255.0, 100.0/255.0,100.0/255.0, 1.0);

        CGContextSetTextDrawingMode(context, kCGTextFill);

        

        [titleString_ drawAtPoint:CGPointMake(self.bounds.size.width - size.width, 0)

                         forWidth:size.width 

                         withFont:font 

                         fontSize:18.0

                    lineBreakMode:UILineBreakModeMiddleTruncation 

               baselineAdjustment:UIBaselineAdjustmentAlignBaselines];

        

        UIFont *borderFont = [UIFont fontWithName:@"AmericanTypewriter-Bold" size:18.0];

        CGSize borderSize = [titleString_ sizeWithFont:font];

        CGContextSetRGBFillColor(context, 225.0/255.0, 225.0/255.0,225.0/255.0, 1.0);

        CGContextSetTextDrawingMode(context, kCGTextFill);

        //偏离2个像素,造成阴影

        [titleString_ drawAtPoint:CGPointMake(self.bounds.size.width - size.width, -2.0)

                         forWidth:borderSize.width

                         withFont:borderFont

                         fontSize:18.0

                    lineBreakMode:UILineBreakModeMiddleTruncation

               baselineAdjustment:UIBaselineAdjustmentAlignBaselines];

    }

    

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值