【Swift】 일정 수의 문자를 치면 자동으로 다음 TextField로 마이그레이션하는 방법

아무래도, 응야입니다.

예를 들면 SNS를 시작할 때 등에, 뭐 개인정보를 입력하는 것이 자주 있다고 생각합니다.

그 때, 어쩐지 예를 들어 전화 번호 등을 칠 때 처음 3 문자를 친 순간, 마음대로 다음 입력란으로 옮겨 준 것 같은 것이 있다고 생각합니다.

어라, 입력하는 측으로서는 편하네요.

그래서 이번에는 그것을 구현하는 것입니다.

그럼 가자!

① 우선은 아래 준비





이런 식으로, TextField를 3개 준비해, 그 사이에 선(UILabel)을 넣어, 뭐 ​​전화 번호를 입력할 때의 녀석 같은 것을 만들어 주세요.

그래서 TextField만 코드에 연결합시다.

②에서는 코드 작성



매우 간단합니다.

다음 코드를 작성하기만 하면 됩니다.
         
import UIKit

class ViewController: UIViewController {

    //StoryBoardと繋いだTextField達
    @IBOutlet weak var textField : UITextField!
    @IBOutlet weak var textField2: UITextField!
    @IBOutlet weak var textField3: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
        //監視
        NotificationCenter.default.addObserver(self, selector: ♯selector(textFieldDidChange(_:)), name: UITextField.textDidChangeNotification, object: nil)
        NotificationCenter.default.addObserver(self, selector: ♯selector(textFieldDidChange2(_:)), name: UITextField.textDidChangeNotification, object: nil)
        NotificationCenter.default.addObserver(self, selector: ♯selector(textFieldDidChange3(_:)), name: UITextField.textDidChangeNotification, object: nil)

    }

    @objc func textFieldDidChange(_ notification:NSNotification){
        //最初のTextFieldの文字数が3だったら
        if textField.text!.count == 3{
            textField.resignFirstResponder()//閉じる
            textField2.becomeFirstResponder()//ここで次に移行
        } 
     }
    @objc func textFieldDidChange2(_ notification:NSNotification){
        //2つ目のTextFieldの文字数が4だったら
        if textField2.text!.count == 4{
            textField2.resignFirstResponder()//閉じる
            textField3.becomeFirstResponder()//次に移行
        }
     }
    @objc func textFieldDidChange3(_ notification:NSNotification){
        //最後のTextFieldの文字数が4だったら
        if textField3.text!.count == 4{
            textField3.resignFirstResponder()//閉じる
            print("終了!")
        }
   }
 }



그럼 안녕! ! !

좋은 웹페이지 즐겨찾기