텍스트 필드에 입력 할 수있는 문자를 제한하고 싶습니다. 예를 들어 1-5 숫자 (1,2, 3, 5) 사용자가 5보다 큰 숫자를 입력하면 textField가 아무 것도하지 않기를 바란다.Swift에서 uitextfield에 입력 할 수있는 문자 제한
길이를 제한하는 방법을 보았지만 위에 설명 된대로 특정 문자를 제한하는 데는 아무 것도 찾을 수 없습니다.
editingQtyFieldChanged
을 사용해 보았지만 내가 원하는 것을하지 않았습니다.
myField.addTarget(self, action: #selector(UserInputViewController.fieldChanged), forControlEvents: UIControlEvents.EditingChanged)
func fieldChanged(){
let number = Int(myField.text!)
if number < 2{
print("Number not allowed")
}
}
스위프트의 uitext 필드에서 1-5의 숫자로만 제한 하시겠습니까?
편집 : 여기 내 솔루션 덕분에 this 스레드 덕분입니다.
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let numbers = ["6","7","8", "9"]
for number in numbers{
if string == number{
return false
}
}
}
'editingQtyFieldChanged'란 무엇입니까? 그러한 사건은 문서화되어 있지 않습니다 (적어도 Swift 3의 경우). – rmaddy
나쁘다, 나는 틀린 방법을 타이프했다. –