Mają spuścizna UISplitViewController
iPada aplikację, która wyświetla modalne widok z „prawa strona” okienku VC korzystając presentViewController: animowane: Zakończenie: z modalPresentationStyle
zestaw do UIModalPresentationFormSheet
. W wersji viewDidAppear
widoku VC modalnego widoku wywołujemy funkcję stałoponieważ na UITextField
. W iOS6 powoduje to wyśrodkowany widok modalny przesuwający się w górę od dołu, który następnie skupia KB. Jednak od czasu iOS7, co następuje po przesunięciu widoku od dołu, przesuwa się w prawo o około (szacując) 200 punktów. Dziwne jest to, że jeśli odrzucisz klawiaturę, widok zniknie z powrotem do położenia środkowego, tak jak na iOS6. Od tego momentu, podczas gdy widok modalny jest podniesiony, fokus KB powoduje, że pozostaje on wyśrodkowany i tylko nieznacznie się wysuwa, co jest normalnym zachowaniem iOS dla widoków modalnych nie pełnoekranowych. To tak, jak odrzucisz KB, gdy tylko "poprawi się" od tego momentu. Mam eksperymentował i stwierdził, że:iOS7 FormSheet widok modalne przesunięcia do prawej strony boiska KB naciskiem kiedy animowane
- Jeśli ustawisz
animated
na NIE dla wywołaniapresentViewController
działa jak iOS6. - Jeśli nie zadzwonisz pod numer
becomeFirstResponder
, działa on jak iOS6. - Jeśli zadzwonisz pod numer
performSelector:xxxxafterDelay:0
, przekazującbecomeFirstResponder
jako selektor, zamiast bezpośrednio wywoływaćbecomeFirstResponder
, działa to również jak iOS6.
Wariant 3 z góry jest obecnie moja idź naprzód obejście, ale moje pytanie brzmi: czy jest to bug iOS7, albo robimy coś złego, że był oczywiście ok w 6, ale nie w iOS7?
Występuje tylko po iOS7. Odtwarzany tylko raz na symulatorze, ale w 100% na urządzeniu testowym (iPad mini). Z przeprowadzonych przeze mnie obecnie moich najlepszych przypuszczeń (zakładając, że nasz kod nie jest winny post-iOS7) jest błąd typu warunku wyścigowego między animacjami klawiatury a widokiem przesuwającym się od dołu w warstwie interfejsu użytkownika iOS co powoduje, że widok przesuwa się w prawo zamiast w górę, jak zwykle, gdy widok nie pełnoekranowy jest prezentowany modalnie, a KB jest pop-up. Mam tę teorię po przeczytaniu this similar SO question.
HA! Właśnie natknąłem się na ten przedmiot około godzinę temu. Cieszę się, że to nie jest coś, co zrobiłem w kodzie. :) Dzięki za wskazówki dotyczące rozwiązania tego. Napisz swoje pytanie. –