2011-01-24 4 views
3

나는 선택한 날짜를 보여주기 위해 하루와 텍스트 필드를 선택하는 선택 목록을 가지고 있습니다. 그것은키보드를 사임하거나 숨기는 방법?

alt text

텍스트 필드의 크로스 기호에 의해 acheived됩니다 .... 내가 어떤 날짜를 선택하면

alt text

, 그것은 같은 것입니다 ... 이렇게 될 것입니다 코드 ....

textField.clearButtonMode=UITextFieldViewModeAlways; 

이 십자가 버튼을 클릭하는 동안 키보드가 표시되었습니다. 이 .... 같은 것입니다

alt text

하지만 난 십자가 버튼 만 삭제에 대한 텍스트 필드를합니다. 키보드가 오지 말아야합니다. 가능한가?

답변

3

당신의 UITextFieldDelegate에서 방법 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField를 구현하고 NO를 반환;

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { 
return NO; 
} 
+0

고맙습니다 ... 작동합니다 : –

1

해당 텍스트 필드의 editable 속성을 false로 설정해보십시오. 텍스트 필드의 '편집이 시작 되었는가'방법에서

3

, 다음을 추가 :이

[UITextField resignFirstResponder];

을 장소에, 그 키보드가 표시되지 않습니다.

해피 코딩 :)

+0

잘못된 장소입니다. 키보드 애니메이션이 보이기 시작한 다음 사라질 수도 있습니다. 이를 수행 할 적절한 장소는 텍스트 필드가 활성화되기 전이므로 키보드가 거의 순간에도 표시되지 않습니다. – vfn

+0

좋은 점 vfn. 코드를 신속하게 테스트했을 때 iPhone 4에서 코드가 작동하는 것처럼 생각하지 않았습니다. –

+0

감사합니다. Aurum .. –

0

다른 사람이 말했듯이, 당신은 UITextFieldDelegate 프로토콜을 통해하고 [texfField resignFirstResponder] 방법을 통해 키보드를 숨길 수 있습니다. 또는 vfn이 제안 했으므로 키보드가 모두 표시되지 않도록 할 수 있습니다.

그래도 텍스트 필드의 clearButtonMode 속성을 설정하기가 어려울 수 있습니다. 사용 가능한 옵션이 무엇인지 확인하려면 다음을 읽어보십시오. http://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextField_Class/Reference/UITextField.html#//apple_ref/doc/c_ref/UITextFieldViewMode

+0

'UITextFieldDelegate'는 클래스가 아닌 프로토콜입니다. 첫 번째 응답자로 사임하려면 텍스트 필드가 활성화되었음을 알리고 프로토콜을 구현해야하므로 OR이 표시되지 않아야합니다. – vfn

+0

@vfn 나는 고쳐졌다. 그것은 나의 시간대에서 일찌기가 아니다. 그 점을 지적 해 주셔서 감사합니다. – Moshe

관련 문제