메소드들을 구현해줘야 한다.
#pragma mark UITextFieldDelegate Protocol Methods
// 텍스트 필드의 내용이 변경될 때 실행된다.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
//textField 의 text.length >= 100 등으로 글자 수 제한을 할수 있다.
//특수 문자 입력 제한도 할수 있다.
NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:LEGAL] invertedSet];
NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
return YES; // NO를 리턴할 경우 변경내용이 반영되지 않는다.
}
// 텍스트 필드의 내용이 삭제될 때 실행된다. clearButtonMode 속성값이 UITextFieldViewModeNever가 아닌 경우에만 실행된다.
- (BOOL)textFieldShouldClear:(UITextField *)textField
{
return YES; // NO를 리턴할 경우 변경내용이 반영되지 않는다.
}
// 텍스트 필드 편집을 시작할때 실행된다.
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
return YES; // 편집을 허용하지 않고자 할 경우 NO를 리턴한다.
}
// 텍스트 필드 편집이 시작된 후(First Responder가 된 후)에 실행된다.
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
}
// 텍스트 필드 편집이 종료될때 실행된다.
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
return YES; // NO를 리턴할 경우 편집을 종료하지 않는다.
}
// 텍스트 필드 편집이 종료된 후에 실행된다.
- (void)textFieldDidEndEditing:(UITextField *)textField
{
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
// return 키가 눌려지면 return키가 눌려진 텍스트 필드의 FirstResponder를 해제한다.
[textField resignFirstResponder];
return YES;
}
댓글 없음:
댓글 쓰기