2017-10-17 93 views
0

我是swift的新手。我正在尝试创建一个视图,您可以在其中创建主题标签。有一个UITextfield您在其中键入要转换的单词。在按下'enter'或'#'时,它应该自动转换为主题标签并显示在标签中,这些标签将进一步以数组格式存储。 我尝试了很多教程,但没有一个似乎工作。在swift中创建哈希标签

+0

请加上你试过的东西 – Sneha

回答

0

UITextFielddelegate非常方便。

一个非常简单的实现将使用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

相关问题