如何确定文本格式的UIResponderStandardEditActions的当前状态?例如,如果我执行以下操作:
[textView toggleBoldface:nil];
如何查询 textView 以了解粗体状态现在是打开还是关闭?这仅适用于没有选择的光标(即范围长度为 0)。因此, enumerateAttribute 似乎不起作用。
谢谢你。
如何确定文本格式的UIResponderStandardEditActions的当前状态?例如,如果我执行以下操作:
[textView toggleBoldface:nil];
如何查询 textView 以了解粗体状态现在是打开还是关闭?这仅适用于没有选择的光标(即范围长度为 0)。因此, enumerateAttribute 似乎不起作用。
谢谢你。
看起来 typingAttributes 属性(在 iOS 6 中可用)将记录将应用于用户键入的新文本的属性,即使选择长度为 0。因此揭示了诸如粗体之类的格式化选项的状态。
NSLog(@"textViewFormatting options: %@", [[self noteTextView] typingAttributes]);
我在文档中没有找到任何有用的东西,但我想只要继承 UITextView 就足够简单了,在它上面添加一个属性BOOL boldText
,然后无论你在哪里调用[textView toggleBoldFace:nil];
,也只需切换该属性。然后当您需要检查 textView 的状态时,只需检查boldText
属性即可。