Po rozwinięciu w this answer, układ współrzędnych Quartz 2D wykorzystuje lewy dolny róg jako (0,0), który jest taki sam jak układ współrzędnych okna na komputerze Mac. IPhone używa górnego lewego rogu jako (0,0) dla jego układu widoku, więc warstwy, które z powrotem UIViews mają swój układ współrzędnych obrócony wokół osi Y.
Jeśli używasz rozszerzeń UIKit NSString do narysowania tekstu w warstwie podkładowej dla UIView, zostanie on poprawnie zorientowany, ponieważ jest brane pod uwagę to odbicie. Jeśli jednak korzystasz z tekstu na niższym poziomie, będziesz musiał najpierw odwrócić układ współrzędnych wokół osi Y (tak, aby 0,0 znowu było lewym dolnym), aby prawidłowo zorientować obiekt.
Zwykłe konteksty grafiki głównej (używane do rysowania obrazów lub plików PDF do przechowywania lub wyświetlania) nie są odwrócone, a więc jest odwrotnie. Normalny tekst kwarcowy będzie renderował się dobrze, ale rzeczy narysowane przy użyciu rozszerzeń NIKtring UIKit będą musiały najpierw odwrócić układ współrzędnych. Powoduje to duże zamieszanie wśród programistów, których obrazy i tekst wyglądają dobrze po narysowaniu na ekranie, ale po zapisaniu na dysku są odwrócone do góry nogami.
Jeśli chodzi o to, dlaczego tak się stało, nikt nie zgaduje. Oba układy współrzędnych mają swoje zalety w pewnych okolicznościach. Łatwo jest jednak to poprawić.
dobra odpowiedź brad .... +1 :) –