在开发中,由于界面显示的需求,很多时候一个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");
}