iOS 开发 oc 设置文本的下划线

6 阅读1分钟

在 iOS 开发中,使用 Objective-C 设置文本的下划线可以通过 NSMutableAttributedString 来实现。以下是详细的步骤和示例代码:

  1. 创建 NSMutableAttributedString 实例:首先,你需要创建一个 NSMutableAttributedString 实例,并将要设置下划线的文本添加到该实例中。
  2. 设置下划线属性:使用 NSUnderlineStyleAttributeName 属性来设置下划线样式。你可以选择单行下划线、双下划线或粗下划线等样式。
  3. 设置下划线颜色(可选):如果你想要自定义下划线的颜色,可以使用 NSUnderlineColorAttributeName 属性。
  4. 应用属性到文本:将设置好的属性应用到 NSMutableAttributedString 实例中,并将其设置为 UILabel 或 UIButton 的 attributedText 属性。

示例代码

UILabel 设置下划线

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 310, 50)];

label.backgroundColor = [UIColor redColor];

[label setLineBreakMode:NSLineBreakByWordWrapping];

label.numberOfLines = 3;

[label setFont:[UIFont systemFontOfSize:14]];

NSMutableAttributedString *content = [[NSMutableAttributedString alloc] initWithString:@"这是一个带有下划线的文本示例"];

NSRange contentRange = {0, [content length]};

// 设置单行下划线

[content addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:contentRange];

// 设置下划线颜色(可选)

[content addAttribute:NSUnderlineColorAttributeName value:[UIColor blueColor] range:contentRange];

label.attributedText = content;

[self.view addSubview:label];

UIButton 设置下划线

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(10, 200, 80, 30)];

NSMutableAttributedString *title = [[NSMutableAttributedString alloc] initWithString:@"按钮标题"];

NSRange titleRange = {0, [title length]};

// 设置单行下划线

[title addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:titleRange];

// 设置下划线颜色(可选)

[title addAttribute:NSUnderlineColorAttributeName value:[UIColor redColor] range:titleRange];

[button setAttributedTitle:title forState:UIControlStateNormal];

[button setBackgroundColor:[UIColor redColor]];

[button.titleLabel setFont:[UIFont systemFontOfSize:14]];

[self.view addSubview:button];

下划线样式选项

  • NSUnderlineStyleNone:无下划线
  • NSUnderlineStyleSingle:单行下划线
  • NSUnderlineStyleThick:粗下划线
  • NSUnderlineStyleDouble:双下划线

通过上述方法,你可以在 iOS 开发中使用 Objective-C 为 UILabel 和 UIButton 添加下划线,并且可以自定义下划线的样式和颜色。