尝试将文本字段中每个单词的首字母大写使用 Swift
Trying to capitalize the first letter of each word in a text field Using Swift
我正在尝试将输入文本字段的每个单词的首字母大写。我想把这段代码放在这里:
func textFieldShouldReturn(textField: UITextField) -> Bool {
//Here
}
我的问题是我不知道该放什么。我试过创建一个 post 告诉我的字符串,但我遇到了麻烦:
nameOfString.replaceRange(nameOfString.startIndex...nameOfString.startIndex, with: String(nameOfString[nameOfString.startIndex]).capitalizedString)
我不确定在该函数中放入什么来将每个单词的第一个字母大写。
简单地设置Textfield的单词大小写。
从这个问题的代码方面来看,假设它与 IBOutlet
相关。
如果需要更改文本字段行为:
textField.autocapitalizationType = .Words
如果需要更改文本字段的输入,即 String
本身:
let newText = textField.text?.capitalizedString
没有在问题中询问但是:仅将第一个字母大写:
let text = textField.text
let newText = String(text.characters.first!).capitalizedString + String(text.characters.dropFirst())
首字母强制大写:
firstNameTextField.delegate = self
extension YourViewController : UITextFieldDelegate {
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let empty = textField.text?.isEmpty ?? true
if(empty) {
textField.text = string.uppercased()
return false
}
return true
}
}
我正在尝试将输入文本字段的每个单词的首字母大写。我想把这段代码放在这里:
func textFieldShouldReturn(textField: UITextField) -> Bool {
//Here
}
我的问题是我不知道该放什么。我试过创建一个 post 告诉我的字符串,但我遇到了麻烦:
nameOfString.replaceRange(nameOfString.startIndex...nameOfString.startIndex, with: String(nameOfString[nameOfString.startIndex]).capitalizedString)
我不确定在该函数中放入什么来将每个单词的第一个字母大写。
简单地设置Textfield的单词大小写。
从这个问题的代码方面来看,假设它与 IBOutlet
相关。
如果需要更改文本字段行为:
textField.autocapitalizationType = .Words
如果需要更改文本字段的输入,即
String
本身:let newText = textField.text?.capitalizedString
没有在问题中询问但是:仅将第一个字母大写:
let text = textField.text let newText = String(text.characters.first!).capitalizedString + String(text.characters.dropFirst())
首字母强制大写:
firstNameTextField.delegate = self
extension YourViewController : UITextFieldDelegate {
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let empty = textField.text?.isEmpty ?? true
if(empty) {
textField.text = string.uppercased()
return false
}
return true
}
}