2014-07-11 2 views
1

나는 UITextField을 가지고 있는데, 글자 수를 8 자까지 입력 할 수 있도록 설정했습니다. 문제는 8 번째 문자가 입력되면 사용자가 삭제 키를 사용할 수 없다는 것입니다. 텍스트 필드에 8자를 입력 한 상태에서 키보드의 삭제 키를 사용하려면 어떻게합니까? 여기 UITextField 글자 수 제한

내 코드입니다 :

func textField(textField: UITextField!,shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool { 
     var shouldChange = false 
     if countString(textField.text) < 8 { 
      shouldChange = true 
     } 

     return shouldChange 
} 

참고 : countString 문자열의 문자 수를 세는 개인 기능입니다

답변

2

는 8 개 미만의 문자가 있는지 확인하지 않는 것입니다 무엇이 필요 , 입력의 길이보다 큰 8

func textField(textField: UITextField!,shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool { 
    NSUInteger newLength = countString(textField.text)+ countString(string) - range.length; 
    return !(newLength > 8) 
} 
+0

덕분에 잭이 솔루션을하지만 여부를 기존의 문자열 플러스! – bhzag

관련 문제