UWAGA: Istnieją dwa podobne pytania SO (1)(2), ale żadna z nich nie daje odpowiedź.MonoTouch.Dialog: Lekceważenie klawiaturę, dotykając dowolnego miejsca w DialogViewController
TL; DR: Jak można odłączyć klawiaturę w MonoTouch.Dialog, pozwalając użytkownikowi dotknąć pustego miejsca w widoku?
Piszę aplikację przy użyciu MonoTouch.Dialog i UITabBarController. Jeden z moich kartach jest "Ustawienia" ...
Gdy użytkownik zaczyna wpisywać klawiatura utrudnia umieszczenie zakładek ...
Korzystanie MonoTouch.Dialog, jedynym sposobem na zamknięcie klawiatury jest przejście do ostatniego pola i naciśnięcie klawisza "return". Biorąc pod uwagę fakt, że użytkownik nie może nacisnąć żadnej karty, dopóki klawiatura nie zniknie, chciałbym to zrobić lepiej. Mianowicie, aby odrzucić, jeśli użytkownik dotknie nigdzie indziej na ekranie.
Bez MonoTouch.Dialog, jest to bardzo proste: wystarczy zastąpić TouchesBegan i wywołać EndEditing. Ale to nie działa z MT.D. Próbowałem już podklasowania DialogViewController i nadpisałem tam TouchBegan, ale to nie działa. Obecnie jestem na straconej pozycji.
A może zastanawiam się, czy lepiej będzie, gdy opuszczę zakładkę, aby można było użyć przycisku UINavigationController z przyciskiem "Back" na górze, który nie będzie ukryty za klawiaturą?
To jest genialne. Po przeczytaniu odpowiedzi na http://stackoverflow.com/questions/10832014/using-delelerationended-interferes-with-other-callbacks zdałem sobie sprawę, że moje rozwiązanie może spowodować problem na drodze. Nie tylko twój jest lepszy, ponieważ eliminuje taką możliwość, zapewnia również dokładnie taką funkcję, jakiej szukałem. Stukrotne dzięki! –
należy również dodać dvc.CancelsTouchesInView = false; w przeciwnym razie spowoduje to anulowanie wszystkich innych kliknięć na stronie! – benpage
dodaj tap.CancelsTouchesInView = false; aby zapobiec anulowaniu kliknięcia wszystkich elementów przez narzędzie TapGestureRecognizer. –