在swift中创建哈希标签
问题描述:
我是swift的新手。我正在尝试创建一个视图,您可以在其中创建主题标签。有一个UITextfield
您在其中键入要转换的单词。在按下'enter'或'#'时,它应该自动转换为主题标签并显示在标签中,这些标签将进一步以数组格式存储。 我尝试了很多教程,但没有一个似乎工作。在swift中创建哈希标签
答
UITextField
的delegate非常方便。
一个非常简单的实现将使用textFieldShouldReturn委托方法,您可以使用它来检测何时按下返回按钮。
告诉你的视图控制器,它会采用这样的协议:
class ViewController:UIViewController, UITextFieldDelegate {
...
然后告诉你的文本框,其中委托它的活动,如果你正在视图控制器内的文本框,然后使用self
来引用视图控制器是这样的:
let textField = UITextField()
textField.delegate = self // IMPORTANT
self.view.addSubView(textField)
然后您的视图控制器内实现像textFieldShouldReturn
方法,以便:
class ViewController:UIViewController, UITextFieldDelegate {
...
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
if let text = textField.text {
let hashtag = "#\(text)"
print("New hashtag is \(hashtag)")
}
return true // allows the default behaviour of return button, you can return false if you want the keyboard to remain on screen.
}
}
此解决方案不会解释用户输入多个hashtag,也不会删除空白等。您可能需要考虑格式化/验证此字符串是否可用。
您也可以考虑查看其他现有问题,其中包括like splitting strings and creating arrays。
请加上你试过的东西 – Sneha