Tytuł mniej więcej mówi wszystko. W odpowiedzi na zdarzenie touchesBegan
mój UIViewController
zachowuje kolorystykę i dodaje kilka subskrybentów.Brak odbioru dotknięć Wylczony/przeniesiony/Anulowany po dodaniu subView
Nigdy nie otrzymuje touchesEnded
. Chyba dlatego, że dodane subviews w jakiś sposób przechwytują wydarzenie. Próbowałem wywoływać resignFirstResponder
na subviewsach bez rezultatu.
Kod działa poprawnie, gdy nie dodaje się widoków podrzędnych, a zdarzenia dotyku są wywoływane jako normalne.
Wszelkie pomysły?
Dzięki
EDIT: Bit szczegółowości i jak naprawiłem go.
Zasadniczo miałem widok główny z niektórymi subviewsami, kiedy dotknąłem widoku, wydarzenie zostanie przekazane do widoku głównego, jednak w tym wydarzeniu usunąłem subviews i dodałem nowe w ich miejscu. Fakt, że dotyk powstał na wyglądzie, który już nie istniał, oznaczał utratę reszty dotyku.
Naprawiłem to nadrzędnymi hitTest: withEvent moim zdaniem mistrza, aby zatrzymać dotyka coraz coraz przetestowane przed subviews
Dowolny kod? +++++ – kennytm
Hmmm, cóż, kod jest dość skomplikowany, ale zakodowałem najprostszy możliwy przykład, aby opublikować go tutaj i działało OK ... więc +1 dla kuksańca w dobrym kierunku ...... ........ opublikuje, gdy wykryję różnicę – Sam