resignFirstResponder가 작동하지 않는 iPad 응용 프로그램이 있습니다. 나는 많은 해결책을 시도했다. firstResponder 객체의 인스턴스에서 첫 번째 응답자를 사퇴하려고하지만 키보드가 화면에 남아 있습니다. 그런 다음 모든 창을 반복하여 첫 번째 응답자의 인스턴스를 얻은 다음 해당 인스턴스에서 resignFirstResponder를 호출합니다.resignFirstResponder는 iPad에서 UIkeyboard를 숨기지 않습니다.
또한 다음과 같은 방법으로 UIViewController
카테고리를 만들어 봅니다.
- (BOOL)disablesAutomaticKeyboardDismissal
{
return NO;
}
그러나이 솔루션은 나를 위해 작동하지 않습니다. 그리고이 키보드 문제는 특정 텍스트 필드뿐만 아니라 모든 텍스트 필드에 있습니다.
업데이트 : 앱의 다른 부분에서 나는 다른 목적으로이 코드를 사용하고 있습니다. 여기에 코드를
- (void)textFieldDidEndEditing:(UITextField *)mtextField
{
[mtextField resignFirstResponder]; this one is not required but I have just write it here.
}
- (BOOL)textField:(UITextField *)theTextField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if([string hasSuffix:@"\n"])
{
[theTextField resignFirstResponder];
return NO;
}
return YES;
}
업데이트입니다 : 내가 시뮬레이터에서 응용 프로그램을 실행하려고 할 때, 몇 번가 resignFirstResponder
도 시뮬레이터의 모든 실행 작업,하지만하지 않습니다.
소스를 보지 않고 진행 상황을 추측하기는 어렵습니다. 뷰 컨트롤러의 최상위 뷰에서'endEditing'을 호출 해 보았습니까? –
viewcontroller의 view 속성에서 endEditing을 시도했습니다. – vikas
키보드를 닫으려면 'disablesAutomaticKeyboardDismissal'이 NO를 반환하지 않아야합니까? –