我正在使用清单应用程序。如果用户要在清单上添加新点,则可以按“添加”按钮,然后会出现一个带有UITextField的警报,以将新任务放入其中。
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
}
答案 0 :(得分:3)
使用文本字段的autocapitalizationType
属性,并在添加时将其设置为句子...
alert.addTextField { textField in
textField.text = "Some default text"
textField.autocapitalizationType = .sentences
}
总是参考documentation,它解释得很好。
如果您需要直接对字符串执行此操作,只需将字符串的第一个字母大写即可。
答案 1 :(得分:0)
您可以使用以下任何功能:-
public mutating func capitalizeFirst() {
guard self.count > 0 else { return }
self.replaceSubrange(startIndex...startIndex, with: String(self[startIndex]).capitalized)
}
或
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
}