【发布时间】:2010-12-31 19:18:03
【问题描述】:
我正在使用 iPhone SDK 3.0。
比如说,我通过在我的应用程序委托中将application.applicationSupportsShakeToEdit 设置为YES 启用了“摇动撤消”。我在 RootViewController 中创建了一个 UITextView,并让它在应用启动时成为第一响应者。
我使用- (BOOL)textView:(UITextView *)aTextView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 根据用户键入的内容更改文本视图。问题是它搞砸了默认的撤消操作。摇动设备不再显示“撤消键入”。
我尝试自己创建一个撤消管理器,但尚未成功。即使我让撤消管理器注册了一些操作prepareWithInvocationTarget,当我摇动设备时也没有任何显示。
有人有想法吗?
编辑:我检查了 WriteRoom 以了解 iPhone 的行为以及 TextExpander Touch SDK 示例代码,它们都在摇动时显示撤消选项,直到自动完成。也就是说,当通过 setText: 向 textView 提交更改时,我猜。所以,改变 textView 的内容确实对 undo 机制有一些影响。
编辑 2:问题是:在这种情况下,我如何合并撤消功能?
【问题讨论】:
标签: iphone uitextview nsundomanager