Aktualnie buduję aplikację przy użyciu UIPageViewController
. Działa tak, jak się spodziewałem, dopóki nie osiągnie ostatniej strony zawierającej liczby UITextField.Nieoczekiwane zachowanie UIPageViewController
Ale kiedy dotknąłem jednego z przypadków UITextField, nagle przeskakuje na poprzednią stronę bez żadnego powodu, zamiast pokazywać klawiaturę. Kiedy przejdę do ostatniej strony i ponownie dotknę pola tekstowego, działa bez problemu.
Jest również w porządku, gdy natychmiast wyświetla ostatnią stronę, dotykając przycisku nawigacyjnego, który łączy się z ostatnią stroną i jest dołączony do instancji UIPageViewController.
Ten problem występuje tylko wtedy, gdy przewijam strony od pierwszej do ostatniej strony i zdarza się to tylko raz przy pierwszym podejściu.
Podejrzewałem problemy z niską pamięcią, więc ustawiam pułapki w metodzie - didReceiveMemoryWarning
zarówno instancji UIPageViewController, jak i kontrolera ostatniego widoku strony. Ale nigdy nie zostali wezwani.
Druga próba jest to, że dodałem przerwania w -willMoveToParentViewController:
metody ostatniej stronie widoku kontrolera i ustawić jej stan na parent == nil
(gdy zostanie usunięty z kontrolera widoku rodzica, który jest instancją UIPageViewController w pytaniu)
Kiedy Uruchom aplikację, stos wywołań punktu przerwania mówi, że metoda jest wywoływana przez UIPageViewController's -_flushViewController:animated:
.
Nie wiem, dlaczego to -flushViewController: animated: is called. Jeśli uda mi się ustalić przyczynę, pomoże mi to rozwiązać problem.
Czy jest ktoś, kto może mi pomóc?
Witam! Czy byłeś w stanie to rozgryźć? Ja cierpię z tym samym problemem :( – VarunMurali