/ / Rozmiar ekranu iPhone6 ​​zwraca 375 na symulatorze - ios, objective-c

Rozmiar ekranu iPhone6 ​​zwraca 375 na symulatorze - ios, cel-c

Mój projekt ma obrazy startowe dla wszystkich iPhone'ów iOS7,iOS8.

W każdym razie zwraca błędną wartość szerokości ekranu w symulatorze:

   NSLog(@"%f",[UIScreen mainScreen].bounds.size.width);
NSLog(@"%f",self.view.frame.size.width);

oba zawsze wynoszą 375,0.

Czego mi brakuje ?

Odpowiedzi:

4 dla odpowiedzi № 1

Rzeczywisty rozmiar ekranu iPhone6 ​​to 750 pikseli, ale iOS nie zwraca rozmiaru piksela w ramce lub granicach, ale rozmiar w punktach!

Jeśli chcesz wiedzieć, ile pikseli znajduje się w punkcie, musisz użyć [UIScreen mainScreen].scale .

W przypadku iPhone6plus jest to jeszcze bardziej skomplikowaneponieważ wprowadza również „natywną skalę”. Wszystko jest wciągnięte w większy obraz i zredukowany do ekranu 1920x1080, który faktycznie ma iPhone 6. Do tego byś użył [UIScreen mainScreen].nativeScale [Uważna skala natywna jest dostępna tylko w systemie iOS8, a aplikacja ulegnie awarii, jeśli użyjesz jej w systemie iOS.]

PS Jeśli nie używasz żadnego obrazu powitalnego (innego niż -568h@2x), otrzymasz 320x568 dla iPhone'a 6 i 6+.