注意: 若是同時給一段文字加上顏色與下劃線是沒有下劃線效果的,目前不知爲何. 例如:"hello" 給它同時加上下劃線與改變字體顏色則只能改變顏色.html
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"Using NSAttributed String"]; [str addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(0,5)]; [str addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(6,12)]; [str addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(19,6)]; [str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldItalicMT"size:30.0] range:NSMakeRange(0, 5)]; [str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Bold"size:30.0] range:NSMakeRange(6, 12)]; [str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Courier-BoldOblique"size:30.0] range:NSMakeRange(19, 6)]; //加下劃線 [str addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(0, 3)]; UILabel * lbl = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 320, 50)]; lbl.userInteractionEnabled = YES; [self.view addSubview:lbl]; lbl.attributedText = str; UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(clickStr)]; [lbl addGestureRecognizer:tap]; }
UIButton下劃線設置: http://www.cnblogs.com/adampei-bobo/p/6116469.html字體