Computer >> 컴퓨터 >  >> 프로그램 작성 >> IOS

Swift에서 숫자만 사용하도록 UITextField를 제한하는 방법은 무엇입니까?

<시간/>

iOS 앱에서는 때때로 입력으로 숫자만 사용하도록 텍스트 필드를 제한해야 합니다. 이 작업은 여러 가지 방법으로 수행할 수 있습니다. 그 중 몇 가지를 살펴보겠습니다.

방법 1:스토리보드에서 텍스트 필드 유형 변경하기

  • 숫자 입력으로 제한할 텍스트 필드를 선택합니다.
  • 속성 검사기로 이동합니다.
  • 키보드 유형을 선택하고 거기에서 숫자 패드를 선택합니다.

방법 2:프로그래밍 방식으로 입력을 숫자로 제한합니다.

  • 텍스트 필드 선택
  • 뷰 컨트롤러에 콘센트를 만듭니다.
  • 뷰 컨트롤러를 UITextFieldDelegate에 맞게 조정
  • 텍스트 필드의 대리자 설정
  • 다음 기능 추가
func textField(_ textField:UITextField, shouldChangeCharactersIn 범위:NSRange, replacementString 문자열:String) -> Bool { if let x =string.rangeOfCharacter(from:NSCharacterSet.decimalDigits) { return true } else { return false }} 

전체 예제 클래스는 다음과 같습니다.

UIKitclass ViewController 가져오기:UIViewController, UITextFieldDelegate { @IBOutlet 약한 var tf:UITextField! 재정의 func viewDidLoad() { tf.delegate =self super.viewDidLoad() } func textField(_ textField:UITextField, shouldChangeCharactersIn 범위:NSRange, replacementString 문자열:문자열) -> Bool { if let x =string.rangeOfCharacter(from:NSCharacterSet .decimalDigits) { true 반환 } else { return false } }}

이렇게 하면 숫자만 입력하고 다른 문자는 사용할 수 없는 텍스트 필드가 생성됩니다.