до сих пор я использую, если и другое заявление, чтобы определить размер объектов, которые отображаются на iPhone или IPad, как, например:Автоматическая корректировка разрешения устройства IOS
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
if (orientation == UIDeviceOrientationPortrait || orientation == UIDeviceOrientationPortraitUpsideDown){
//For Portrait on iPhone
[self.navBar setFrame:CGRectMake(0.0 , 0.0, 320.0f, 44.0)];
} else if (orientation == UIDeviceOrientationLandscapeLeft || orientation == UIDeviceOrientationLandscapeRight){
//For Landscape on iPhone
[self.navBar setFrame:CGRectMake(0.0 , 0.0, 480.0f, 44.0)];
}
} else {
if (orientation == UIDeviceOrientationPortrait || orientation == UIDeviceOrientationPortraitUpsideDown){
//For Portrait on iPad
[self.navBar setFrame:CGRectMake(0.0 , 0.0, 768.0f, 44.0)];
} else if (orientation == UIDeviceOrientationLandscapeLeft || orientation == UIDeviceOrientationLandscapeRight){
//For Landscape on iPad
[self.navBar setFrame:CGRectMake(0.0 , 0.0, 1024.0f, 44.0)];
}
}
Но теперь я хочу чтобы изменить его, чтобы сделать его более динамичным. Я пытаюсь использовать следующее, но нет никакой удачи.
CGRect screenBounds = [[UIScreen mainScreen] bounds];
CGFloat screenScale = [[UIScreen mainScreen] scale];
CGSize screenSize = CGSizeMake(screenBounds.size.width * screenScale, screenBounds.size.height * screenScale);
Может кто-нибудь, пожалуйста, помогите мне в том, как реализовать эти два вместе? Кажется, что проблема, с которой я их смешиваю, - проблема. Если кто-нибудь может дать мне шаблон или даже намек на это, я буду очень благодарен.
Большое спасибо
Почему вы использовали масштаб вообще для рамки? Это не имеет никакого смысла, поскольку значения фрейма всегда находятся в точках, а не в пикселях ... –