如何通过 Swift 检查键盘输入的特殊字符“#”,如 hashtag

How to check keyboard input special character "#" like hashtag by Swift

我想在我的 UITextView 中做标签,我检查文本是否包含“#”。
如果用户输入“#”,我会显示关键字列表让用户点击。
然后用户输入第二个hastag像“#yummy #”,我也显示关键字列表。
如何检查用户输入“#”,并触发显示关键字列表。
谢谢

图片如下图。

Swift 4.0

要对 # 个字符执行操作,您可以使用委托方法来检测用户是否输入 # 个字符,如下所示

1) 将代表分配给 UITextView

textView.delegate = self

2) 实现以下委托方法。

func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
        if text == "#" {
            //Perform here some task when user enters # character
        }
        return true
    }

您应该使用协议 UITextViewDelegate,以及该协议中的函数 textView(_:shouldChangeTextIn range: NSRange, replacementText text: String)

参数replacementString 为您提供了当前输入的字符串,您可以测试该字符串是否与所需的字符串相等并进行相应处理。更多详情请阅读Apple docs.