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