只有大写的 UITextField Swift
Posted
技术标签:
【中文标题】只有大写的 UITextField Swift【英文标题】:Only uppercased UITextField Swift 【发布时间】:2016-10-05 13:18:54 【问题描述】:我想强制 UITextField 输入大写文本。这就是我所做的:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool
let nsString = textField.text as NSString?
let newString = nsString?.replacingCharacters(in: range, with: string)
textField.text = newString?.uppercased()
return false
有什么方法可以在不使用replacingCharacterInRange
的NSString
的情况下强制大写UITextField?
【问题讨论】:
【参考方案1】:我找到了!
我刚刚在我的 TextField 中添加了一个 UIControlEvents.editingChanged
类型的目标
在选择器中我做了:textField.text = textField.text?.uppercased()
代码如下:
myTextField.addTarget(self, action: #selector(myTextFieldTextChanged), for: UIControlEvents.editingChanged)
func myTextFieldTextChanged (textField: UITextField)
textField.text = textField.text?.uppercased()
这正是我想要的。谢谢大家!
【讨论】:
【参考方案2】:很简单,就这么做
self.yourTexField.autocapitalizationType = UITextAutocapitalizationType.AllCharacters;
【讨论】:
这是键盘用的,我想把文字大写。以上是关于只有大写的 UITextField Swift的主要内容,如果未能解决你的问题,请参考以下文章
带有 mkmapview 和 uitextfield 委托函数的 Swiftui
如何在 SwiftUI 中更改 UIViewRepresentable 内的 UITextField 大小
UITextField 未更新以更改 ObservableObject (SwiftUI)