如何检查键盘输入特殊字符"#"喜欢Swift的标签

时间:2018-01-09 06:51:10

标签: ios swift textview uitextview

我想在我的UITextView中做标签,并检查文本是否包含"#"是不是 如果用户输入"#" ,我将显示允许用户点击的关键字列表 然后用户输入第二个hastag,如#34; #yummy#",我还会显示关键字列表。
如何检查用户输入"#",并触发显示关键字列表 感谢。

图片如下图。 image

2 个答案:

答案 0 :(得分:4)

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
    }

答案 1 :(得分:3)

您应该使用协议UITextViewDelegate,并且该协议中的函数textView(_:shouldChangeTextIn range: NSRange, replacementText text: String)具体。

参数replacementString为您提供当前输入的字符串,您可以测试该字符串与所需字符串的相等性并相应地继续。有关详细信息,请阅读Apple docs