【发布时间】:2014-01-24 05:47:40
【问题描述】:
我有一个UITextView,它当前使用的是系统默认字体。用户按下粗体按钮后,我希望输入的所有新文本都以粗体显示,但之前的文本保持原样。我目前正在使用attributedText 属性来更改其他属性(颜色、大小等),所以我想保留之前的任何属性,而不是字体。
我尝试将textView 字体设置为粗体,但这会更改所有文本。有什么建议吗?
【问题讨论】:
-
你需要在 NSAttributedString 的 addAttribte:value:range 方法中使用 NSRange 将不同的字体应用到文本的不同部分
-
@Puneet 但是如果范围不断变化,我该怎么做呢?
-
您需要使范围动态化。你有 sapme 旧文本。根据其长度,您可以知道新键入文本的位置并相应地确定范围。
标签: ios objective-c attributes uitextview