2012-07-27 3 views
5

나는 에 을 표시하기 위해 inputView을 사용했지만 다른 기능에는 동일한 textfield을 사용합니다. textfieldinputView을 사용한 후에 표준 키보드를 표시하려면 어떻게해야합니까?사용한 입력 후 키보드를 표시하는 방법

textfield.inputView = pickrView; 
+0

textfield.inputView = NO; –

답변

10

그냥

textfield.inputView = nil;

은 나를 위해 일한

+1

나를 위해 일했다면 NO 대신 NULL을 사용하는 것이 좋습니다. inputView 속성은 BOOL이 아니라 UIView를 필요로합니다. 이것은 NO와 NO가 함께 작동하지만 NO는 숫자가 모두 0이지만 YES를 지정하면 실패하고 충돌합니다. –

+0

좋아 .. 고마워! –

+3

그것은 나와 함께 작동하지 않습니다. – HusseinB

0

이 코드는 어쩌면 파벨 Kaljunen 말했듯이

[textField.inputView addTarget:self action:@selector(doTest) forControlEvents:UIControlEventTouchUpInside]; 

- (void)doTest 
{ 
    if([textFiled isFirstResponder]) 
    { 
    [textFiled resignFirstResponder]; 
    } 
    else 
    { 
    [textFiled becomeFirstResponder]; 
    } 
} 
3

, 당신은 inputView을 설정하기 만하면 작동 할 수 있다고 생각 아무 것도 표시하지 않겠지 만 키보드가 이미 표시되어 있으면 처음부터 다시 시작해야합니다. 처음에 inputView를 nil로 설정 한 다음 becomeFirstResponder를 다시 설정하십시오.

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:0.35]; 

[yourTextField resignFirstResponder]; 
yourTextField.inputView = nil; 
[yourTextField becomeFirstResponder]; 

[UIView commitAnimations]; 
관련 문제