2013-06-30 4 views
1

iOS에 제공된 숫자 키패드 나 전화 패드에 반환 키 (다음 또는 완료)가 포함되어 있지 않으므로 어떻게 가변 길이 숫자 항목의 입력 끝을 감지 할 수 있습니까?숫자 필드의 입력 끝 부분의 iOS 감지

숫자 키 집합이 포함되어 있기 때문에 전체 알파 키보드를 사용할 수도 있습니다. 그러나 이것은 편집 될 필요가있는 추가적인 가능성을 사용자에게 제시하는 것을 의미합니다.

또 다른 가능성은 다른 데이터 입력 필드에서 선택을 요구하는 것입니다. 이것은 비 직관적 인 것처럼 보입니다. 캡처 할 숫자 필드가 하나뿐이라면 불가능합니다!

해결책이 있습니까?

+2

이를 사용하여, 나는 합격을 UITextFieldDelegate 내의 ViewController의 헤더 파일을 추가 했어 UITextField로 입력하는 경우. 이보기에는 원하는 단추 (또는 다른 UI 요소)가있을 수 있습니다. 일반적인 버튼 세트는 다음/이전 버튼과 완료 버튼입니다. – rmaddy

답변

1

예, UITapRecognizer를 사용하여 탭을 감지하고 특정보기를 간단하게 해제 할 수 키보드 뒤에 뷰에 UITapGestureRecognizer을 추가

[UITextField resignFirstResponder]; 
2

한 빠른 방법입니다 사용하여 탭 때 키패드를 해제 할 수 그래서

// UITapGestureRecognizer property 
@property (strong, nonatomic) UITapGestureRecognizer *singleTap; 

// Add gesture recognizer to remove keyboard 
_singleTap = [[UITapGestureRecognizer alloc] 
           initWithTarget:self 
           action:@selector(dismissKeyboard)]; 
_singleTap.cancelsTouchesInView = NO; 
[self.view addGestureRecognizer:_singleTap]; 

// Method to remove keyboard 
- (void)dismissKeyboard 
{ 
    [self.view endEditing:YES]; 
} 

처럼 탭 키보드의 경우 http://timbroder.com/2012/08/adding-done-and-cancel-buttons-to-an-ios-number-pad.html

다음과 같이 또 다른 숫자 패드 자체 또는 inputAccessoryView를 통해 중 하나 완료 버튼을 추가하는 것입니다
1

그런 다음`UITextField`에`inputAccessoryView` 추가 내 viewcontroller.m

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
[self.view endEditing:YES]; 
}