iphone - UITextView 检测字符已删除

标签 iphone objective-c ios xcode uitextview

我创建了一个 UITextView,它允许在用户键入 @ 时进行动态标记。

是否可以检测到 @ 被删除,以停止我创建的特定标记过程?如果是这样,我该怎么做? UITextView 没有这样的委托(delegate)方法。

最佳答案

我会用

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text

然后创建一个 NSString,在其中存储添加到 UITextView 的最后一个字符。在上述方法中,添加以下代码段。

if ([text isEqualToString:@""] && [lastRecordedString isEqualToString@"@"]) {
  //do whatever you want to do when an @ is deleted
}

lastRecordedString = [textView.text substringFromIndex:[string length]-1];

编辑:查看上面编辑过的代码。现在 lastRecordedString 是删除字符后 UITextView 中的最后一个字符。这应该有效。

关于iphone - UITextView 检测字符已删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12065690/

相关文章:

iphone UITableView 自定义单元格选定的图像

iphone - LocalPushNotification声音和iPhone的音量按钮

ios - 为什么移动 UIView 不会在同一 View 上移动 UIImageView?

ios - 通用 iOS 应用程序 - UIButton 和 UITableView 大小

iphone - 如何以编程方式 "follow"iOS 应用程序中的 Twitter 提要?

ios - 根据不同的UITableViewCell点击加载不同的URL-iOS

iphone - 从iPhone上的远程sql表获取数据

ios - 依次播放本地保存的多首轨道

objective-c - NSTableView 只显示 "Table View Cell"

ios - 如何在 ios11.3 移动设备中调试 service worker/pwa?