2009-03-16 9 views
3

양식에 5 개의 UITextField가 추가되었습니다. 텍스트 파일 중 하나는 생년월일을 입력하는 것입니다. 그래서 특정 텍스트 필드가 기본 키보드를 표시하는 대신에 눌려지면 datepicker가 표시되어야합니다.기본 키보드를 숨기는 방법

이 기능은 날짜 선택기라고
- (void)textFieldDidBeginEditing:(UITextField *)textField{ 
    [textField resignFirstResponder]; 
    [self showDatePicker];//this is my own function to display datepicker. 
} 

기본 키보드도 표시되는 날짜 선택과 함께 표시하고이 날짜 선택기를 숨 깁니다

나는 다음 시도했다. 나는이 특정 textfiled에 대해 기본 키보드를 제거하는 방법을 모른다. 도와주세요.

+0

이 질문에 대한 답변이 없습니까? – saikamesh

+0

나는 그것이 가능한지 여부를 알고 싶다. 불가능하다면 시간을 낭비 할 필요가 없다. – saikamesh

+0

제발 도와주세요 !!! – saikamesh

답변

1

어쩌면 UITextField를 사용해서는 안됩니다. 정상적인 UITableViewCell을 사용하고 도청 될 때 datepicker가있는 새로운 UIViewController를 푸시합니다.

+0

이 팁을 주셔서 감사합니다. 이미 텍스트 필드에 투명한 버튼을 추가했습니다.이 버튼 이벤트는 showDatePicker 함수를 호출했습니다. 그러나 투명 버튼을 클릭하면 텍스트 필드에 포커스가 표시되지 않습니다. – saikamesh

+0

나는 이것을 달성하도록 요구 받았다. 이것이 제가이 질문을 게시하게 한 이유입니다. – saikamesh

+0

필요 이상으로 복잡하게 만들지 마십시오. UITableViewCell은 탭에 응답하고 .text 속성을 갖습니다. 키보드를 통해 텍스트를 입력하지 않으려면 UITextField가 필요하지 않습니다. – Schpaencoder

0

첫 번째 응답자를 사임하면 키보드가 숨겨집니다. 내 생각에, textField는 코드의이 시점에서 첫 번째 응답자가 아니므로 사임하라는 의미는 없습니다. 아마도 이것을 확인하기 위해 NSLog 문을 삽입해야합니다.

2

-textFieldShouldBeginEditing:에서 처리 할 수 ​​있습니다.

이 메서드가 NO를 반환하면 키보드가 표시되지 않습니다.

이 방법으로 날짜 선택 도구를 표시 한 다음 아니오를 반환하십시오.

3

비록 이것이 오래된 질문이지만, 나는 똑같은 것을 찾는 동안 여기에 왔습니다.

- (void) hideKeyboard: (UIView *) view { 
    NSArray *subviews = [view subviews]; 
    for (UIView *subview in subviews){ 
     if ([subview isKindOfClass:[UITextField class]]) { 
      [subview resignFirstResponder]; 
     } 
     [self hideKeyboard: subview ]; 
    } 
} 

나중에 내가 할 수있는 직관적 인 방법을 발견

이 화면에 표시 뷰의 수/중첩 위해 작동, 난 그냥 통해 일한지

[self.view endEditing:YES]; 
1

이 동일한 문제,

우리는 몇 가지 시도하고 길을 따라 정말 끔찍한 코드와 버그가 많이 끝났다.

지금까지 가장 간단한 방법은 선택 도구는 더 리턴 버튼과 같은이 없기 때문에, 여전히 UITextField을 가지고 있지만, 우리가 필드를 제출 좋은 방법을 찾기 위해 노력하고있다 지금 DatePicker

-.inputView을의 설정하는 것입니다 키보드.

+0

이 필드를 제출하는 가장 좋은 방법은'UITextField'의'inputAccessoryView'를 사용하는 것입니다. – user500

관련 문제