2011-12-26 2 views
5

내 응용 프로그램에서 UITextField 값을 키보드를 통해서가 아니라 UIPickerView에 입력해야합니다.iPhone : UITextField를 탭하는 동안 키보드를 숨길 수 있습니까?

저는 2 UITextFields입니다. 1 텍스트 필드의 값에 키보드 에서, 2 텍스트 필드의 값을 가져온 것은 그래서 키보드를 숨기고 내가 당신의 더 나은 참조를 위해 무엇을 추가 여기 UIPickerView

보여주고 싶은 두번째 텍스트 필드를 도청에 UIPickerView

에서 페치

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
     [pickerToolBar setHidden:NO];//shows toolbar 
     [pickerTime setHidden:NO];//shows UIPickerView 
     [textField resignFirstResponder]; 
} 

위의 코드를 작성한 후에 키보드가 사라지지 않습니다.

당신이 어떤 생각을 가지고 있다면 다음 PLZ 도와 ...

답변

0

UITextField를 UIPicker를 기반으로 채우는 경우 UITextField와의 사용자 상호 작용을 단순히 해제하지 않는 이유는 무엇입니까? 여전히 데이터를 입력 할 수 있으며 사용자가 데이터를 변경할 수 없습니다. 그러나 키보드가 계속 숨겨 지도록하려면 UITextField가 터치/변경/etc를 감지 한 후 첫 번째 응답자를 종료하도록 설정할 수 있습니다.

+1

내 UIPickerView는 UITextField를 탭하면 열어야합니다. – iPhone

+1

그런 다음 willBeginEditing에 대한 옵션에서 UIPickerView를 가져오고 첫 번째 응답자를 종료합니다 (키보드 제거). –

+2

"willBegingEditing"은 UITextfield에 대한이 방법입니까? – iPhone

1

초점이의 UITextField 내부에있는 동안 키보드를 숨길 수 없습니다 ...

당신은 수준 곳에서 UIPicker를 삽입해야합니다

값을 선택하는 동안 키보드 뒤에 숨어 있지 않으므로 값을 선택할 때 장애물이되지 않습니다.

그리고 UIPicker에서 값을 선택하는 경우 UITextField를 탭해야하는 이유는 다음과 같습니다. if UiTextField를 탭하지 않으면 키보드가 표시되지 않습니다.

환호성 !!!

1

텍스트 필드 편집 가능 속성을 FALSE 또는 사용자 상호 작용으로 설정하려고하면 false로 설정하고 선택기보기를 열기 버튼 이벤트로 텍스트 필드의 크기가 동일한 사용자 정의 버튼을 하나 추가하십시오.

+0

나는이 솔루션이 최선이라고 생각한다 – Aditya

2

UITextfield 대리자 메서드를 사용해보십시오. 다음 코드를 texfield didBeginEditing 메서드에 넣습니다.

[texfield resignfirstresonder]; 

그런 다음 텍스트 필드가 편집을 차단하고 키보드가 나타나지 않습니다. 텍스트 필드 대리인을 파일 소유자에 첨부했는지 확인하십시오.

+0

또한 응답자를 사퇴 한 후에도 UIpickerview show 메소드를 호출 할 수있다 텍스트 필드 이 코드는 다음과 같이 보일 것이다 somhow : - (무효) textFieldDidBeginEditing (의 UITextField *)에 textField { 경우 (텍스트 필드 == URTEXTFIELD) {[텍스트 필드 resignFirstResponder]; [pickerview becomeFirstResponder]; } } – iCreative

1
UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)]; 
[self.view addGestureRecognizer:gestureRecognizer]; 
gestureRecognizer.cancelsTouchesInView = NO; 


- (void) hideKeyboard 
{ 
    [textfieldname1 resignFirstResponder]; 
    [textfieldname2 resignFirstResponder]; 
} 
+0

조금 더 설명해 주시겠습니까? – iPhone

+1

텍스트 필드에 텍스트를 입력하면 UITapGestureRecongnizer 함수가 생성됩니다. 텍스트 필드에서 그것을 떠날 때 텍스트 필드 밖으로보기를 클릭하면 hideKeyboard 함수가 실행됩니다. 키보드는 숨김입니다. – akk

1

이러한 대답은 효과가 있지만 아무도 답변을 드릴 수 없습니다. 텍스트 필드가 탭 될 때 키보드보기를 uipickerview로 바꿀 수 있습니다.

UITextField *field = [[UITextField alloc] init]; 
field.inputView = [[UIPickerView alloc] init]; 
관련 문제