使用NSAttributedString,添加删除线,中划线 链接

常用的是其子类:NSMutableAttributedString 加中划线,删除线的方法:
//获取要改变的字符串
NSString *old_str = [NSString stringWithFormat:@"¥%d",_deal.listPrice/100];
//创建一个 NSMutableAttributedString对象
 
  
    NSMutableAttributedString *old_attriStr = [[NSMutableAttributedString alloc] initWithString:old_str];
//给指定NSRange的字符串添加属性
    [old_attriStr addAttributes:@{NSStrikethroughStyleAttributeName: [NSNumber numberWithInt:NSUnderlineStyleSingle]} range:NSMakeRange(0, old_attriStr.length)];
    self.oldPriceLabel.attributedText = old_attriStr;


现在你可以在任意的UIKit对象上使用NSAttributedString 了,比如说是一个UILabel或是一个UITextField,见以下代码:
 
  
  1. #import  
  2.   
  3. - (BOOL)saveCredentials:(NSError **)error { 
  4.     SSKeychainQuery *query = [[SSKeychainQuery alloc] init]; 
  5.     query.password = @"MySecretPassword"
  6.     query.service = @"MyAwesomeService"
  7.     query.account = @"John Doe"
  8.     query.synchronizable = YES; 
  9.     return [query save:&error]; 
  10.   
  11. - (NSString *)savedPassword:(NSError **)error { 
  12.     SSKeychainQuery *query = [[SSKeychainQuery alloc] init]; 
  13.     query.service = @"MyAwesomeService"
  14.     query.account = @"John Doe"
  15.     query.synchronizable = YES; 
  16.     query.password = nil; 
  17.     if ([query fetch:&error]) { 
  18.         return query.password; 
  19.     } 
  20.     return nil; 
  注意:NSHTMLTextDocumentType 只是NSDocumentTypeDocumentAttribute key一种可能的值。你还可以使用NSPlainTextDocumentType,NSRTFTextDocumentType或是NSRTFDTextDocumentType。
 
 你还可以从NSAttributedString中创建一个HTML字符串,如下:
 
  
  1. NSAttributedString *attrString; // from previous code 
  2. NSDictionary *options = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType}; 
  3.   
  4. NSData *htmlData = [attrString dataFromRange:NSMakeRange(0, [attrString length]) documentAttributes:options error:nil]; 
  5. NSString *htmlString = [[NSString alloc] initWithData:htmlData encoding:NSUTF8StringEncoding]; 





你可能感兴趣的:(使用NSAttributedString,添加删除线,中划线 链接)