до сих пор я использовал оператор if и else для определения размера объектов, отображаемых на iPhone или iPad, например:
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);
Может кто-нибудь помочь мне, как реализовать эти два вместе? Кажется, проблема в том, как я их перепутал. Если кто-нибудь может дать мне шаблон или даже подсказку для этого, я буду очень признателен.
Большое спасибо