富文本设置

1、大家是否遇到过设置一串字符串中,某个或某几个字符的大小或颜色?

代码如下:

   NSString *string1 =@"0.00";
   NSString *string2 =@"0.36";
   NSString *text = [NSString stringWithFormat:@"%@/%@元",string1,string2];//text=0.00/0.36
   NSArray  *numberArr = [text componentsSeparatedByString:@"/"];
       
   NSString *moleNumber = numberArr[0];//代表“/”前面的部分
   NSString *denoNumber = numberArr[1];//代表“/”后面的部分
       
   NSString *moleNumberInt = [moleNumber componentsSeparatedByString:@"."][0];
   NSString *moleNumberDec = [moleNumber componentsSeparatedByString:@"."][1];
       
   NSMutableAttributedString *mAttString = [[NSMutableAttributedString alloc] initWithString:text];
   //设置"/"分子数字颜色  /*COLOR_6是自定义的颜色,自己设置个颜色*/
   [mAttString addAttribute:NSForegroundColorAttributeName value:COLOR_6 range:NSMakeRange(0,moleNumber.length)];
   //设置分子小数点前面数字大小
   [mAttString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:15] range:NSMakeRange(0,moleNumberInt.length)];
   //设置分子小数点后面数字大小
   [mAttString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:11] range:NSMakeRange(moleNumberInt.length+1,moleNumberDec.length)];
   //设置分母数字的颜色和大小(包括"/")
   [mAttString addAttribute:NSForegroundColorAttributeName value:[UIColor lightGrayColor] range:NSMakeRange(moleNumber.length,denoNumber.length+1)];
   [mAttString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:13] range:NSMakeRange(moleNumber.length,denoNumber.length+1)];
  //typeNumberLabel是我定义的一个全局的UILabel
   typeNumberLabel.attributedText = mAttString;


效果图如下:
       


2、设置下标
   NSMutableAttributedString *s = [[NSMutableAttributedString alloc] initWithString:@“我是好人,你是吗?"];
   //设置上、下标,上标高度为10(如果是下标的话设置成负数)
    [s addAttribute:NSBaselineOffsetAttributeName value:[NSNumber numberWithInt:-10] range:NSMakeRange(5, 4)];
   //设置样式
    [s addAttribute:NSFontAttributeName value:[UIFontfontWithName:@"Helvetica"size:10] range:NSMakeRange(5, 4)];
   //所放的位置
   UILabel*label = [[UILabel alloc] initWithFrame:CGRectMake(50,120,200,200)];
   //这个是添加到文本框内 不能用.text了
    label.attributedText= s;
    [self.viewaddSubview:label];



效果图如下:


你可能感兴趣的:(ios技术总结)