iOS同一个label中设置不同的字体及颜色

孟祯
2023-12-01

iOS同一个label中设置不同的字体及颜色

在开发中,由于界面显示的需求,很多时候一个label中的字体大小和颜色需要不同,我们当然可以用两个label来拼凑,但是略显繁琐。其实iOS中给出了在同一个label中,设置字体大小及颜色的方法,下面给出居停代码实现。

//需要设置字体的label
UILabel *moneyLabel;
moneyLabel.text = @"1880.99元/收入";
//定义一个range来获取需label内需要修改的字符串范围
NSRange range;
//设置截取字符串的分隔符
range = [todayMoneyLabel.text rangeOfString:@"."];
if (range.location != NSNotFound)
{
    //初始化range的值
    NSInteger startIndex = range.location;
    range = NSMakeRange(startIndex, 7);
    UIFont *labelFont = [UIFont systemFontOfSize:12.0];
    NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"1880.99元/收入"];
    //设置字体颜色
    [str addAttribute:NSForegroundColorAttributeName value:[UIColor lightGrayColor] range:range];
    //设置字体大小
    [str addAttribute:NSFontAttributeName value:labelFont range: range];
    todayMoneyLabel.attributedText = str;
}
else
{
    NSLog(@"Not Found");
}
 类似资料: