dla stałej UIKeyboardFrameEndUserInfoKey
w docs firmy Apple mówi:Konwersja UIKeyboardFrameEndUserInfoKey aby wyświetlić lub Okno Współrzędne
Współrzędne te nie biorą pod uwagę wszelkie rotacja czynników zastosowany do zawartości okna w wyniku orientacji interfejsu zmian. W związku z tym konieczne może być przekształcenie współrzędnych prostokątnych na okno (przy użyciu metody convertRect: fromWindow:) lub wyświetlenie współrzędnych (przy użyciu metody convertRect: fromView:) przed użyciem.
Więc jeśli mogę użyć [view1 convertRect:rect fromView:view2]
Co chciałbym wstawić na powyższe parametry, aby ją przekształcić wartości rotacji prawidłowo? tj:
view1 =? rect =? (rama klawiatury zakładam) view2 =?
Próbowałem niektórych rzeczy i robiłem zabawne rzeczy.
Nadzieję poniżej odpowiedź pomaga. Wcześniej używałam również 'convertRect', ale poniższy kod jest czystszy, IMO. – memmons
Oczywiście nie zgadzam się z @Answerbot co do tego, co jest "czystsze" :) BTW kod, który pokazuję, pochodzi z mojej książki, którą możesz skonsultować w tej sprawie: http://www.apeth.com/iOSBook/ ch23.html # _summoning_and_dismissing_the_keyboard – matt
@matt Dobre rzeczy. Czytałem jedną z twoich książek i naprawdę mi się podobało. Powodem, dla którego przestałem używać 'convertRect' jest fakt, że działa on bardzo dobrze w kontrolerze widoku, w którym znajduje się' myView', który reprezentuje najwyższy widok. Jeśli jednak słuchasz powiadomień z podklasy 'UITextField', transformacja z użyciem self nie jest szczególnie pomocna. – memmons