-4
我正在使用Xcode 8和Swift 3.我正在爲iOS創建一個應用程序。我如何將輸入的小寫字母自動轉換爲文本字段中的大寫字母,反之亦然?在文本框中輸入小寫字母大寫,反之亦然
我正在使用Xcode 8和Swift 3.我正在爲iOS創建一個應用程序。我如何將輸入的小寫字母自動轉換爲文本字段中的大寫字母,反之亦然?在文本框中輸入小寫字母大寫,反之亦然
第一個答案是確定的,但有一些修改。測試帶有變音標記的字母。使用複製和粘貼文本方法進行測試。
,說
class ViewController: UIViewController {
下必須是這樣。
class ViewController: UIViewController, UITextFieldDelegate {
這隻適用於只有一個文本字段。要強制即使Shift鍵被鎖定或按下大寫輸入...
@IBOutlet weak var textField: UITextField!
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if string.lowercased() == string {
textField.text = (textField.text! as NSString).replacingCharacters(in: range, with: string.uppercased())
} else {
textField.text = (textField.text! as NSString).replacingCharacters(in: range, with: string.uppercased())
}
return false
}
不要忘記插入下面的內「覆蓋FUNC viewDidLoad中()」。
textField.delegate = self
這僅適用於一個文本字段。要強制即使Shift鍵被鎖定或按下小寫輸入...
@IBOutlet weak var textField: UITextField!
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if string.lowercased() == string {
textField.text = (textField.text! as NSString).replacingCharacters(in: range, with: string.lowercased())
} else {
textField.text = (textField.text! as NSString).replacingCharacters(in: range, with: string.lowercased())
}
return false
}
不要忘記插入下面的內「覆蓋FUNC viewDidLoad中()」。
textField.delegate = self
下面是兩個文本字段。假設一個文本字段總是大寫,另一個總是小寫。
@IBOutlet weak var textFieldAlwaysUppercase: UITextField!
@IBOutlet weak var textFieldAlwaysLowercase: UITextField!
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if textField.isEqual(textFieldAlwaysUppercase) {
textFieldAlwaysUppercase.text = (textField.text! as NSString).replacingCharacters(in: range, with: string.uppercased())
return false
} else if textField.isEqual(textFieldAlwaysLowercase) {
textFieldAlwaysLowercase.text = (textField.text! as NSString).replacingCharacters(in: range, with: string.lowercased())
return false
}
return true
}
不要忘記在「override func viewDidLoad()」中插入以下內容。
textFieldAlwaysUppercase.delegate = self
textFieldAlwaysLowercase.delegate = self
的可能的複製[總是打字(力)小寫或大寫 - IOS迅速](https://stackoverflow.com/questions/31989028/typing-always-force-lowercase-or-uppercase-ios-swift ) –