Tag: uitextview uimenucontroller

如何检测用户是否在UIMenuController中点击了格式化button?

我的应用程序允许用户使用我创build的一些自定义格式button来格式化UITextView中的文本。 现在我想启用文本视图的allowsEditingTextAttributes属性,以便用户可以在文本视图之间复制和粘贴格式化的文本 。 这将在标准UIMenuController中为文本视图启用粗体/斜体/下划线button。 这很好,但是当用户通过这个菜单更改格式时,我需要调用自定义方法来更新自定义格式button的状态。 如何检测用户是否已轻触其中一个UIMenuController的格式button? 我在UITextView和UIMenuController类的引用中寻找通知,但没有看到任何相关的东西。 这些格式化button不会触发UITextViewTextDidChangeNotification ,也不会触发UITextViewTextDidChangeNotification的textViewDidChange:方法。 我也尝试了UITextView类的子类重写一个方法,但我不知道什么方法重写。 它看起来像一个bold:方法不存在,例如,即使在那里存在一个paste:方法。 有没有人知道什么类的方法是什么时候点击一个粗体/斜体/下划线button? 据我所知,这些button在iOS的文本编程指南或UIMenuController类引用中没有提及。

UITEXTVIEW:获取在uitextview中input的最近单词

我想从UITextView获取用户input的最新单词。 用户可以在UITextView的任何位置input一个单词,也可以在中间或末尾或开头input单词。 当用户input完成并按下一个空格并使用“来自UIMenuControllerbuild议”进行修改时,我会认为这是一个单词。 例如:用户在UITextView的文本中间的某处input“kimd”,他得到一个自动更正的popup窗口“kind”。 他这样做后,我想捕捉“善良”,并在我的应用程序中使用它。 我在互联网上search了很多东西,但是发现了解决scheme,最终用户input文本的时候就会谈论这个问题。 我也尝试过检测一个空间,然后做一个向后的search,直到find一些文本之后的另一个空间,这样我就可以将它定义为一个单词。 但我认为可能有更好的方法来做到这一点。 我已经在某处读过iOScaching我们在文本字段或文本视图中input的最近文本。 如果我可以从最高的那个popup,那就是我想要的。 我只需要处理该对象。 我真的很感谢帮助。 注意:用户可以在UItextview的任何地方input文字。 我需要最近input的单词 谢谢。