2009-09-24 6 views
0

4 개의 UITextField가있는 UIViewController가 있으며 그 중 3 개는 숫자 패드를 사용하고 1 개는 ASCII 키보드를 사용합니다. 사용자가 텍스트 필드 외부의 배경 단추를 누르면 ASCII 키보드를 닫을 수 없습니다. 배경 단추는 숫자 패드를 닫을 때 제대로 작동하지만 ASCII 키보드를 닫지는 않습니다.resignFirstResponder UITextField 용 ASCII 키보드를 닫지 않음

예, ASCII 키보드에는 완료 단추가 있지만 작동합니다 (IB에서 위임을 설정하고 textFieldShouldReturn을 구현했습니다). 그러나 모든 필드가 배경 영역을 터치하여 닫아서 일관되게 작동하도록합니다. (가능한 한 많이).

배경 단추의 동작 방법이 호출되며 모든 텍스트 필드 개체에 대해 resignFirstResponder가 호출되지만 ASCII 키보드로 텍스트 필드를 호출해도 키보드가 닫히지 않고 숫자 텍스트 필드가 호출됩니다 NumberPad를 닫으십시오.

-(IBAction)backgroundClick:(id)sender 
{ 
    // resignFirstResponder makes the keyboard go away when the 
    // user clicks outside of one of the text fields 
    [textField resignFirstResponder]; 
    [num1Field resignFirstResponder]; 
    [num2Field resignFirstResponder]; 
    [num3Field resignFirstResponder]; 
    [num4Field resignFirstResponder]; 
} 

무엇이 여기에 있습니까?

+0

위 함수의 시작 부분에 다른 행을 추가했습니다. BOOL isIt = [textField isFirstResponder]; 키보드가 활성화되어있는 동안 백그라운드 영역을 터치했고이 호출 바로 다음에 중단 점이있었습니다. isIt은 아니오입니다. 왜 그런지는 모르겠지만 사퇴가 효과가없는 이유라고 생각합니다. – progrmr

답변

1

발견. textField의 참조 아웃렛이 IB의 파일 소유자에 연결되지 않았습니다.

나는 연결을 점검했지만 분명히 이것을 놓친 것으로 생각했습니다.

관련 문제