iPhone 带下滑线的文字并可触发事件

"一般一个控件元素有下划线并有点击事件的话就应该是一个hyperlinkbutton


1) button来实现是最简单的,只需为button设置含下划线的string即可


2) label除了要设置string之外还要加点击事件"

 

 

以下是修改字体的代码:

 

- (void) updateButtonTitle

{

@try {

NSString* titleString = [self title];

NSMutableAttributedString *hyperLinkString = [[NSMutableAttributedString alloc] initWithString: titleString];

NSRange selectedRange = {0, [hyperLinkString length]};

 

NSDictionary *dict = [[self attributedTitle] attributesAtIndex:0 effectiveRange:&selectedRange];

NSFont *font = [NSFont fontWithName:@"Arial" size:12];

 

// if(dict && [dict objectForKey:@"NSFont"])

// {

// font = [dict objectForKey:@"NSFont"];

// }

 

[hyperLinkString beginEditing];

 

[hyperLinkString addAttribute:NSForegroundColorAttributeName

value:[NSColor colorWithCalibratedRed:0.8086 green:0.8086 blue:0.8086 alpha:1.0] // 更改颜色

range:selectedRange];

 

[hyperLinkString addAttribute:NSUnderlineStyleAttributeName

value:[NSNumber numberWithInt:NSSingleUnderlineStyle] // 添加下化线

range:selectedRange];

 

[hyperLinkString addAttribute:NSFontAttributeName 

value:font

range:selectedRange];

 

[hyperLinkString endEditing];

 

[self setAttributedTitle: hyperLinkString];

[self sizeToFit];

 

[hyperLinkString release];

}

@catch (NSException * e) {

 

}

@finally {

 

}

}

猜你喜欢

转载自374016526.iteye.com/blog/1156862