我試圖給UITextView
添加下劃線樣式,並且它不適用。如果我使用「陰影」(取消陰影樣式和評論下劃線樣式)我可以看到它,但由於某種原因沒有應用下劃線。我使用「Courier New」字體。NSAttributedString:下劃線不適用
- (void) addDiagHighlighting: (NSMutableAttributedString*)attrString start:(int)start end:(int)end severity:(int)severity {
// ignore diags that are out of bounds
if (start > attrString.length || end > attrString.length)
return;
NSRange range = NSMakeRange(start, end - start);
UIColor *diagColor = [self getSeverityColor: severity];
// shadow
// NSShadow *shadow = [[NSShadow alloc] init];
// [shadow setShadowColor: diagColor];
// [shadow setShadowOffset: CGSizeMake (1.0, 1.0)];
// [shadow setShadowBlurRadius: 1.0];
// [attrString addAttribute:NSShadowAttributeName
// value:shadow
// range:range];
// underline
[attrString addAttributes:@{
NSUnderlineColorAttributeName : diagColor, // color
NSUnderlineStyleAttributeName : @(NSUnderlinePatternSolid) // style
}
range:range];
}
我可以改變屬性添加到同時添加陰影和下屬,我可以看到影子,但仍然沒有下劃線:
// shadow + underline
[attrString addAttributes:@{
NSShadowAttributeName : shadow, // shadow
NSUnderlineColorAttributeName : diagColor, // color
NSUnderlineStyleAttributeName : @(NSUnderlinePatternSolid) // style
}
range:range];