Почему мой размер UIScreen и UIWindow не совпадают?
Я хочу загрузить изображение с сервера и установить его в полноэкранном режиме для iphone4s, я использую UIScreen *mainScreen = [UIScreen mainScreen];
и используйте этот экран, чтобы получить размер (960x640). Когда приложение запускается, я вставляю код в AppDelegate .
if (im!=nil){
UIImageView *splashScreen = [[UIImageView alloc] initWithImage:im];
[self.window addSubview:splashScreen];
[UIView animateWithDuration:3 animations:^{splashScreen.alpha = 0.99;}
completion:(void (^)(BOOL)) ^{
[splashScreen removeFromSuperview];
}];
}
Я заметил, что размер неправильный, затем я вышел из системы с размером self.window и обнаружил, что размер окна составляет 320x480. Как это случилось?
Вот как я могу получить размеры:
UIScreen *mainScreen = [UIScreen mainScreen];
UIScreenMode *ScreenMode = [mainScreen currentMode];
CGSize size = [ScreenMode size];
CGFloat screenWidth = size.width;
CGFloat screenHeight = size.height;
1 ответ
В этом разница между точками и пикселями.
UIScreen возвращает размер в пикселях, однако UIKit работает с точками. Вот некоторая документация Apple по этому вопросу: https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/WindowsandViews/WindowsandViews.html