문제

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; 
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top