이 녀석을 오버라이드 해 주면 된다.
-(void)textFieldShouldReturn:(UITextField*)textField
{
}
보너스로, 텍스트 필드를 누르면 작동하는 Action은 다음의 delegate 함수를 이용한다.
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[dateArrPopView1 removeFromSuperview]; // dateArrPopView1 뷰를 제거한다.
[view_date removeFromSuperview]; // view_date 뷰를 제거한다.
}
참고로 이 딜리게이트는 키보드가 올라감에 따라 뷰가 같이 올라가는 기능을 구현해 줄때 많이 쓴다.
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
//키보드 호출 시 화면을 위로 이동
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
CGAffineTransform transform = CGAffineTransformMakeTranslation(0.0, -250.0);
[self.view setTransform:transform];
[UIView commitAnimations];
///////////
[dateArrPopView1 removeFromSuperview];
// -> 만약 textField가 여러개 있고 그 중 특정한 텍스트필드에만 기능을 넣으려면
// 아래와 같이 tag를 주면된다.
if([textField tag] == 2){
[labState1 setText:@""];
}
}
// 키보드를 내릴때 기능을 넣고 싶으면 아래와 같이...(화면을 원상 복귀하는 기능을 넣었다.)
- (void)textFieldDidEndEditing:(UITextField *)textField
{
//키보드 Done 시 화면을 원래 위치로
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
CGAffineTransform transform = CGAffineTransformMakeTranslation(0.0, 0.0);
[self.view setTransform:transform];
[UIView commitAnimations];
}
댓글 없음:
댓글 쓰기