2013-02-13 1 views
0

IOS 응용 프로그램의 textField 문자를 제한하고 싶습니다. 나는 스택 오버 플로우에서 주어진 모든 메소드를 시도해 보았다. 나는이 질문을 유지하고있다.IOS 응용 프로그램의 텍스트 필드 문자를 최대 5 자까지 제한하는 방법

여기에 하나의 레이블 (보안 코드)과 하나의 텍스트 필드 (5 문자)를 사용했습니다.

아래 코드를 viewcontroller.m 파일에 지정했지만 작동하지 않습니다. 여기 코드는 ...

이 문제를 해결하는 방법을 알려주십시오. 긴급한 필요성.

+0

http://stackoverflow.com/questions/433337/iphone-sdk-set-max-character-length :

override func viewDidLoad() { super.viewDidLoad() // set the delegate textField.delegate = self } extension ViewController:UITextFieldDelegate { func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { if textField.text?.characters.count >= 5 && range.length == 0 { return false } return true } } 

당신은 countwidth에 의해 텍스트 필드를 제한하는 방법에 대한 자세한 예를 찾을 수 있습니다 -textfield –

답변

7

ViewController.h, <UITextFieldDelegate>이 추가되어야합니다.

viewDidLoad에는 myTextField.delegate = self이 추가되어야합니다. 나를 위해

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range  replacementString:(NSString *)string 
{ 
    if (textField.text.length >= 5 && range.length == 0) 
     return NO; 
    return YES; 
} 

작품 : 다음

그리고

는 문자의 수를 제한합니다. 시도 해봐.

편집 : 한편

, 코드가 잘뿐만 아니라 완벽하게 작동합니다. 코드를 다시 확인하십시오.

+0

이 코드로 작업했습니다. ViewController.h 파일에서 한 가지 문제가 발생합니다. 'UITextFieldDelegate'파일을 찾을 수 없습니다. 이 문제를 해결하는 방법을 제안 해 드릴 수 있습니다 .. –

+0

UIKit 프레임 워크가 추가 되었습니까? viewController.h 코드를 표시하십시오. – esh

+0

UIKit framework.my ViewContoller.m 파일을 추가했습니다 : [super viewDidLoad]; txtsecurecode.delegate = 자기 - (BOOL) txtsecurecode (의 UITextField *)에 textField shouldChangeCharactersInRange (NSRange) 범위 replacementString (는 NSString *) 문자열 { 는 NSString newstring 인수로 쓰여진 * = [textField.text 할 stringByReplacingCharactersInRange : 범위 withString : 문자열]; return! ([newString length]> 5); }} 오류가 있습니다 : - (BOOL) 문은 "non-fragile abi에서 일정한 크기가 아닌 인터페이스 viewcontroller에 대한 포인터에 대한 산술"입니다. 해결하는 데 도움이 될 수 있습니다. –

0

신속한 답변 : UITextFieldDelegateextension으로 추가하십시오. 그것은 당신의 일을 더 쉽게 만듭니다.

에 textField의 delegate을 설정하는 것을 잊지 마십시오. github source

관련 문제