Ios 警报文本字段中的大写字母[仅第一个单词]
我正在开发一个清单应用程序。如果用户想在他的检查表上添加一个新的点,他可以按下“添加”按钮,并且会出现一个带有UITextField的警报,以将他的新任务放入Ios 警报文本字段中的大写字母[仅第一个单词],ios,swift,xcode,Ios,Swift,Xcode,我正在开发一个清单应用程序。如果用户想在他的检查表上添加一个新的点,他可以按下“添加”按钮,并且会出现一个带有UITextField的警报,以将他的新任务放入 alert.addAction(UIAlertAction(title: "Add", style: .default, handler: { (action) in let textf = alert.textFields![0] as UITextField if(textf.text != "")
alert.addAction(UIAlertAction(title: "Add", style: .default, handler: { (action) in
let textf = alert.textFields![0] as UITextField
if(textf.text != "")
{
checklist.append(textf.text!.capitalized)
}
self.myTableView.reloadData()
}))
self.present(alert, animated: true, completion: nil)
}
这样做会在点击“添加”后将单词大写。但我只希望第一个字大写。此外,我希望它出现时在键盘上,以便第一个单词立即大写。我该怎么做
let alert = UIAlertController(title: "Add new task", message: nil, preferredStyle: .alert)
alert.addTextField { (alertInputTextField) in
}
使用textfield的
autocapitalizationType
属性,并在添加时将其设置为句子
alert.addTextField { textField in
textField.text = "Some default text"
textField.autocapitalizationType = .sentences
}
总是参考,它很好地解释了这一点
如果需要直接对字符串执行此操作,只需将字符串的第一个字母大写即可。您可以使用以下任意函数:-
public mutating func capitalizeFirst() {
guard self.count > 0 else { return }
self.replaceSubrange(startIndex...startIndex, with: String(self[startIndex]).capitalized)
}
或
在将文本字段添加到文本之前,请在文本字段上设置大小写属性alert@Scriptable但是在哪里?显示如何在上获取文本字段的代码alert@Scriptable更新如果这解决了您的问题,请将其标记为已接受的答案,以显示问题已解决。谢谢,或者只是在文本字段上设置
textField.autocapitalizationType=.句子
?是的,我刚刚建议了一个替代方案。您可以拥有整个项目的通用结构,并在其中包含这些功能。
public func capitalizedFirst() -> String {
guard self.count > 0 else { return self }
var result = self
result.replaceSubrange(startIndex...startIndex, with: String(self[startIndex]).capitalized)
return result
}