在UITextView中强调文本
我如何在UITextView
强调文本。 我明白,我需要创build一个UITextView
的子类,但什么会根据drawRect:
谢谢。
尝试按如下方式使用NSAttributedString
并在UITextView
设置。 这适用于iOS6。
NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:@"Some String"]; [attString addAttribute:(NSString*)kCTUnderlineStyleAttributeName value:[NSNumber numberWithInt:kCTUnderlineStyleSingle] range:(NSRange){0,[attString length]}];
有关NSAttributedString
更多信息, NSAttributedString
查看这个如何使用NSAttributedString?
例如: –
textView.attributedText = attString;
从UITextView上的苹果文档 ,
在iOS 6和更高版本中,该类通过使用属性文本属性支持多种文本样式。 (样式文本在早期版本的iOS中不受支持。)为此属性设置值将使文本视图使用属性string中提供的样式信息。 您仍然可以使用font,textColor和textAlignment属性来设置样式属性,但这些属性适用于文本视图中的所有文本。
attributedText:
文本视图显示的样式文本。
@property(nonatomic,copy) NSAttributedString *attributedText
讨论:该属性默认为零。 为这个属性指定一个新的值也可以用相同的string数据replacetext属性的值,尽pipe没有任何格式化信息。 另外,赋值一个新值将更新字体,textColor和textAlignment属性中的值,以便它们反映属性string中从位置0开始的样式信息。
如果你想避免包含CoreText,你可以使用这个属性的属性string:
@{NSUnderlineStyleAttributeName: @(NSUnderlineStyleSingle)}
如果这是静态文本,则可以在Interface Builder中对其进行下划线。 请务必在下拉菜单中select“已分配”,以使“文本”
textViewMessage.linkTextAttributes = @{NSForegroundColorAttributeName: [UIColor blueColor], NSUnderlineStyleAttributeName: [NSNumber numberWithInt:NSUnderlineStyleSingle]};
如果你想格式化你的文本(带下划线的单词,链接,彩色文字…),我build议你使用FTCoreText
-(IBAction)underline:(id)sender { NSDictionary *underlineAttribute = @{NSUnderlineStyleAttributeName: @(NSUnderlineStyleSingle)}; texts.attributedText = [[NSAttributedString alloc] initWithString:texts.text attributes:underlineAttribute]; }
如果您使用的是iOS 6,那么您可以使用UITextView的attributedText
文字属性。 将下划线格式应用于文本。 您还可以设置typingAttributes
属性,以确保用户input的文本具有特定的格式设置。
我build议你使用CoreText 。 一个基本的教程在这里raywenderlich 。
我build议你使用MFUnderlinedTextView ,这将是有帮助的。
你不能使用“kCTUnderlineStyleAttributeName”或“kCTUnderlineStyleSingle”现在你必须这样做:
NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:@"Text"]; [attString addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:(NSRange){0,[attString length]}];
要强调一个文本,你必须去的地方,你可以select复制,剪切,删除选项,现在有更多的选项,如B / I / U(粗体,斜体,下划线)。 select这个选项,就是这样。 并且无法再次select下划线选项。