当我从苹果文档了解attributedText的UITextView的属性:
此属性默认为零。 分配一个新值这个属性也替换文本属性的值具有相同字符串数据,尽管没有任何格式的信息。 此外,分配一个新的值在字体更新值,文字颜色和textAlignment属性,使它们反映了属性串在起始位置0的样式信息。
因此,我无法通过代码与在不同位置的多个属性添加构造一个AttributedString。
有人可以帮我创建通过代码在iOS6的下面的效果呢? 这是可能的使用笔尖文件,并通过更改属性范围在UITextView的文本部分,但我似乎无法重现的代码的效果。
< '字体systemFontOfSize = 18> 所需 <'/ FONT> 效果 < '文字颜色= [的UIColor redColor]> 要写入B''/文字颜色>ÿ代码 。
假设标记对应的属性。
PS我不希望因为我尝试使用与UITextView中的自动版式功能,使用CATextLayers。
你可以建立包含所有你需要的属性的一个NSDictionary的NSAttributedString:
NSAttributedString* attString = [[NSAttributedString alloc]
initWithString: @"Desired effect to be written by code"
attributes: (NSDictionary*)attributes];
或者用它的可变子类NSMutableAttributedString:
NSMutableAttributedString *attString = [[NSMutableAttributedString alloc]
initWithString: @"Desired effect to be written by code"];
[attString addAttribute: NSForegroundColorAttributeName
value: [UIColor redColor]
range: NSMakeRange(15,15)];
...等等
然后...
myTextView.attributedText = attString;
每个属性被施加到串的NSRange(位置,长度)。 不同的属性类型(例如,颜色,字体大小)可以重叠不同的范围。
更新
使用NSMutableAttributedString例子。 NSAttributedString's initWithString:attributes
将整个字符串,这是你要设法避免,遗憾的混乱的整个范围应用属性。