텍스트 필드에서 최대 문자 제한을 수정하십시오
-
19-08-2019 - |
문제
CoCOS2D의 텍스트 필드에 고정 문자 제한이 어떻게 부과 될 수 있습니까?
해결책
Uitextfield의 최대 문자 수를 수정하려면 uitextfield 대표 방법을 구현할 수 있습니다. textField:shouldChangeCharactersInRange
사용자가 고정 길이를 지나서 문자열을 편집하려는 경우 false를 반환합니다.
//Assume myTextField is a UITextField
myTextField.delegate = self;
//implement this UITextFiledDelegate Protocol method in the same class
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if ([textField.text length] > kMaxTextFieldStringLength)
return NO;
else
return YES;
}
다른 팁
사용자가 백 스페이스를 사용할 수 있으려면 이와 같은 코드를 사용해야합니다 (범위는 백 스페이스를 푸시 할 때 길이가 0입니다) :
myTextField.delegate = self;
// 동일한 클래스 에서이 uitextFiledDelegate 프로토콜 메소드를 구현합니다 - (bool) textfield : (uitextfield *) Textfield theThangeCharacterSinRange : (nsRange) 범위 대체품 스트링 : (nsstring *) 문자열 {if (textfield.text.length> = 10 && range.length == 0) 반환 번호; 반환 예; }
위의 예는 사용자가 텍스트 필드 끝에서 편집하는 경우에만 작동합니다 (마지막 문자). 입력 텍스트의 실제 길이 (사용자가 편집 커서 위치에 관계없이)에 대해 확인하려면 다음을 사용하십시오.
myTextField.delegate = self;
//implement this UITextFiledDelegate Protocol method in the same class
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (range.location > kMaxTextFieldStringLength)
return NO;
else
return YES;
}
제휴하지 않습니다 StackOverflow