2013-04-25 3 views
-1

숫자 텍스트 필드를 어떻게 사퇴시킬 수 있을지 궁금합니다.iOS에서 숫자 텍스트 필드를 사퇴하는 방법은 무엇입니까?

textfields을 만드는 내 viewDidLoad 메서드에 루프가 있는데,보기에서 아무 곳이나 터치 할 때마다 어떻게 할 수 있습니까? 앱이 키보드를 닫습니다.

+0

봐. 몇몇은 이미이 질문에 답합니다. 새로운 질문을 게시하기 전에 관련 질문을보십시오. – rmaddy

답변

0

UIView의 백그라운드 터치 작업을 수행 할 수도 있습니다. 아래 단계를 수행했습니다.

1) UIView의 클래스를 UIControl로 변경하십시오.

enter image description here

2) UIControl의 이벤트의 아래로 터치 이벤트 드래그 제어 할 수 있습니다.

enter image description here

3) 첫 번째로 반응을 사임 파일 소유자로 배경 터치 IBAction를 method.And 쓰기 코드를 연결합니다.

-(IBAction)backgroundtouch:(id)sender 
{ 
    [_yourTextField resignFirstResponder]; 
} 
질문에 관련 질문에

enter image description here

2

일반 (비 숫자) 텍스트 필드를 사칭하는 것과 같은 방법입니다.

보기 컨트롤러를 텍스트 필드 대리자로 설정하면 편집이 끝나면 해당 텍스트 필드에서 FirstResponder를 resign하면 키보드가 닫힙니다.

You can also use a UITapGestureRecognizer assigned to the viewand then call resignFirstResponder when it's hit (샘플 코드는 내가 연결 한이 두 링크에서 찾을 수 있습니다.)

+0

이 작업을 수행하는 방법에 대한 예제를 제공해 주시겠습니까? 고마워요! –

+0

UITapGestureRecognizer에서 dismiss 메소드를 어떻게 알 수 있습니까? 어떤 texfield가 사임해야합니까? 감사! –

+0

위임 메서드를 통해 편집을 시작한 텍스트 필드를 추적하거나 해당 필드의 * all *을 사임 할 수 있습니다. –

3

endEditing:으로 전화하십시오. 이것은 첫 번째 응답자가 실제로 누구인지 알 필요가 없다는 장점이 있습니다! 그것은 UIView의 방법이며, 모든 서브 뷰에서 작동, 당신은의 UIViewController에,이 모든 텍스트 필드는 그것의 파단, 그래서 당신은 단순히 이런 말을 할 수

[self.view endEditing:YES]; 

으로 에 대한 코드 줄을 넣으려면 반응 할 대상에 따라 다릅니다. 당신은 "내가보기에 어디든 만질 때마다"라고 말한다. 그러나 어떤 견해? UITapGestureRecognizer를 UIViewController의 전체보기로 지정하면 이미 설명한 것처럼 UITapGestureRecognizer를 self.view에두고 액션 메서드 처리기를 endEditing:으로 호출하면됩니다.

+0

제스처 인식기에 대한 제 책에 대한 논의는 다음과 같습니다 : http://www.apeth.com/iOSBook/ch18.html # _gesture_recognizers – matt

+0

다음은 키보드 해지와 관련된 일반적인 문제에 대한 저서입니다. http://www.aptt.com/iOSBook/ch23.html#_summoning_and_dismissing_the_keyboard – matt

관련 문제