본문 바로가기
모바일개발(Mobile Dev)/IOS개발(ObjectC)

UITextField & UITextFieldDelegate

by 테크한스 2015. 8. 14.
반응형

UITextField


UITextField *sampleTextField                = [[UITextField alloc]initWithFrame:CGRectMake(10.0f10.0f150.0f40.0f)];

// textfield를 alloc 해주고 Frame(위치)를 잡아준다.


sampleTextField.delegate                         self;

// delegate 선언


sampleTextField.text                               = @"sample";

// textfield에 지정된 단어를 넣어놓기위해(test 시 사용)


sampleTextField.keyboardType                 = UIKeyboardTypeNumberPad;

// textfield의 키패드 지정


sampleTextField.font                                = [UIFont systemFontOfSize:13.0f];

// textfield의 글씨 font와 size 지정


sampleTextField.placeholder                      = @" 입력하시오.";

// 입력전 placeholder에 위치한 문구(안내문 기능)




/**************** 배경이미지 설정 **********************/

(!!borderStyle 속성이 UITextBorderStyleRoundedRect가 아닌 경우에만 적용!!)

sampleTextField.background = [UIImage imageNamed:@"image1.jpg"];

sampleTextField.disabledBackground = [UIImage imageNamed:@"image2.jpg"];


sampleTextField.borderStyle                      = UITextBorderStyleNone;

// textfield의 테두리 모양 설정


sampleTextField.layer.borderColor              = RGB(188188188).CGColor;

//textfield의 테두리 색


sampleTextField.layer.borderWidth              = 1.0f;

// textfield의 테두리 두께


sampleTextField.contentVerticalAlignment   = UIControlContentVerticalAlignmentCenter;

// textfield의 text위치


sampleTextField.clearButtonMode              = UITextFieldViewModeAlways;

// textfield에 내부에 삭제 버튼을 표시


sampleTextField.clearsOnBeginEditing         = YES;

// textfield 편집을 시작할 경우 텍스트필드의 내용을 삭제할지 지정


[sampleTextField release];

// textfield를 처음에 alloc 시켰기 때문에 메모리 해제를 위해 release


UITextField Delegate


출처 및 참고(http://meetkei.com/wordpress/?p=1218)

// textField의 내용이 변경될 때 실행

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string

{

return YES;    // NO를 리턴할 경우 변경내용이 반영되지 않는다.

}


// textField의 내용이 삭제될 때 실행

// clearButtonMode 속성값이 UITextFieldViewModeNever가 아닌 경우에만 실행

- (BOOL)textFieldShouldClear:(UITextField *)textField

{

return YES;    // NO를 리턴할 경우 변경내용이 반영되지 않는다.

}


// textfield 편집을 시작할 때 실행

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField

{

return YES;    // 편집을 허용하지 않고자 할 경우 NO를 리턴

}


// textfield 편집이 시작된 후(First Responder가 된 후)에 실행

- (void)textFieldDidBeginEditing:(UITextField *)textField

{


}


// textfield 편집이 종료될 때 실행

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField

{

return YES;    // NO를 리턴할 경우 편집을 종료하지 않는다.

}


// textfield 편집이 종료된 후에 실행

- (void)textFieldDidEndEditing:(UITextField *)textField

{


}


// 리턴 키를 누를 때 실행

- (BOOL)textFieldShouldReturn:(UITextField *)textField

{

[textField resignFirstResponder];


return YES;

}

반응형