簡體   English   中英

Swift:如果用戶達到最大字符,如何移動到下一個 UITextField

[英]Swift: How to move to next UITextField if the user reach max char

我試圖找到一種方法,當用戶達到最大字符數時,文本字段會移動到下一個。

這是我的代碼:

extension ViewController: UITextFieldDelegate {
    
    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
        
        guard let text = textField.text else {
            return true
        }
        let length = text.count + string.count - range.length
        let max = 2
        
        if textField == weTextField {
            return length <= max
        }
        else if textField == theyTextField {
            return length <= max
        }
        
        return true
    }
    
}

謝謝

您可以通過執行以下操作來實現這一點:

  1. 創建一個函數,當達到字符限制時,該函數將更改您的第一響應者

     @objc func valueDidChange(_ textField: UITextField) { guard let text = textField.text else { return } let maxLength = 2 switch textField { case textField1 where text.count == maxLength: textField2.becomeFirstResponder() case textField2 where text.count == maxLength: textField3.becomeFirstResponder() default: break } }
  2. 將該函數添加到您的文本字段,以便在編輯文本字段時觸發它。 在上面的例子中,我將它添加到 textField1 和 textField2

     textField1.addTarget(self, action: #selector(valueDidChange), for: .editingChanged) textField2.addTarget(self, action: #selector(valueDidChange), for: .editingChanged)

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM