Odpowiedź jest jako możliwego rozwiązania dla innych z podobnym problemem, ale gdzie konwencjonalne leki nie działają.
Podsumowując -
Miałem podobny problem (pod pewnym warunkiem) i próbowałem wszystkiego - bezskutecznie - zawartych w mojej listy możliwych rozwiązań w [OBJ za resignFirstResponder] nadrzędnym z „disablesAutomaticKeyboardDismissal "dla kontrolera widoku, [self.view endEditing: YES]; i mnóstwo innych rzeczy.
Poszedłem po ustaleniu [identyfikatora] aktualnej pierwszej odpowiedzi, aby odkryć, że była zerowa. Naciśnięcie klawisza "Gotowe" na klawiaturze lub użycie dowolnej z powyższych metod nic nie zmieniło - klawiatura pozostała - nawet po dotknięciu innego pola wprowadzania.
Ekran był zasadniczo ViewController z UITableView z polem wprowadzania tekstu w każdej komórce - łącznie 7 lub 8. Stuknięcie w dowolną komórkę spowoduje wyświetlenie klawiatury zgodnie z oczekiwaniami, a stuknięcie w osobny przycisk "Dalej" (aby ukryć klawiaturę i inne przetwarzanie) działało zgodnie z oczekiwaniami. Jednak w trybie poziomym ostatnie pole zostało zakryte przez klawiaturę, co wymagało przewinięcia tabeli w celu jej ujawnienia.
Po przewinięciu i naciśnięciu ostatniego pola wprowadzania danych klawiatura nie mogła zostać odrzucona - bez względu na wszystko. Jedynym zadaniem było przewinięcie stołu z powrotem pod klawiaturę, a następnie dotknięcie przycisku "dalej". To nie ma sensu.
Prawie w momencie rezygnacji (i zastosowania obejścia) rozwiązaniem, które działało, było uczynienie tego ostatniego pola wprowadzania pierwszym rzecznikiem (mimo, że już miał migający kursor), a następnie zrezygnowanie z funkcji WyprzedażResponder po tym.
Tak;
`- (void) {actionNext
[[m_arrInputFields objectAtIndex:7] becomeFirstResponder];
[[m_arrInputFields objectAtIndex:7] resignFirstResponder];
}`
rozwiązaniu problemu - natomiast [m_arrInputFields objectAtIndex: #any drugiej Wskaźnik] nie!
Byłoby wspaniale, gdyby ktokolwiek mógł zapewnić jasność lub wyjaśnienie tego - w przeciwnym razie - mam nadzieję, że zaoszczędzi to komuś jeszcze kilka godzin pracy!
Brzmi jak błąd. Proponuję złożenie raportu na bugreport.apple.com. –
Mając ten sam problem, gdy textFields są w widoku modalnym z modalPresentationStyle = UIModalPresentationFormSheet –
Mam również tego błędu. –