如何将 swift 中 UILabel 中的一个单词大写?
How can I capitalize one word in a UILabel in swift?
我正在尝试制作这样的动态 UILabel:
"I Love Watching The BBC"
由于标签是动态的,我不知道它的内容。
我可以单独留下文本,让用户定义他们想要的内容。我可以将整个字符串、每个单词的第一个字母或字符串中的所有单词大写。
问题是大写时,输入大写的单词会变成小写。
因此,在上面的示例中
BBC
变成
Bbc
我在网上找遍了,觉得没有办法做到这一点。
根据要求,到目前为止的代码:
cell.projectName?.text = projectNameArray[indexPath.row].localizedCapitalized
我建议您将此扩展添加到您的代码中。
extension String {
func capitalizingFirstLetter() -> String {
return prefix(1).capitalized + dropFirst()
}
mutating func capitalizeFirstLetter() {
self = self.capitalizingFirstLetter()
}
}
也为 UILabel.text
属性 应用自定义函数,拆分字符串中的每个单词,并应用大写字母。
例如:
extension String {
func capitalizeWords() -> String {
self.split(separator: " ")
.map({ String([=11=]).capitalizingFirstLetter() })
.joined(separator: " ")
}
}
我认为可以降低复杂性,但这只是一个工作提示 ;)
我正在尝试制作这样的动态 UILabel:
"I Love Watching The BBC"
由于标签是动态的,我不知道它的内容。 我可以单独留下文本,让用户定义他们想要的内容。我可以将整个字符串、每个单词的第一个字母或字符串中的所有单词大写。
问题是大写时,输入大写的单词会变成小写。
因此,在上面的示例中
BBC
变成
Bbc
我在网上找遍了,觉得没有办法做到这一点。
根据要求,到目前为止的代码:
cell.projectName?.text = projectNameArray[indexPath.row].localizedCapitalized
我建议您将此扩展添加到您的代码中。
extension String {
func capitalizingFirstLetter() -> String {
return prefix(1).capitalized + dropFirst()
}
mutating func capitalizeFirstLetter() {
self = self.capitalizingFirstLetter()
}
}
也为 UILabel.text
属性 应用自定义函数,拆分字符串中的每个单词,并应用大写字母。
例如:
extension String {
func capitalizeWords() -> String {
self.split(separator: " ")
.map({ String([=11=]).capitalizingFirstLetter() })
.joined(separator: " ")
}
}
我认为可以降低复杂性,但这只是一个工作提示 ;)