共有三个模拟器或 iPhone 设备,如下所示
iPhone
iPhone (Retina 3.5 inch)
iPhone (Retina 4 inch)
我想为导航栏实现以下方法。
- (UINavigationController *)navigationController {
nav = [[UINavigationController alloc]
initWithRootViewController:[self demoController]];
// If Iphone/iPod Touch
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
// If iPhone 5 or new iPod Touch
NSLog(@"The height is %f ", [UIScreen mainScreen].bounds.size.height );
NSLog(@"The width is %f ", [UIScreen mainScreen].bounds.size.width);
if([UIScreen mainScreen].bounds.size.height == 568){
[nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"nav.png"] forBarMetrics: UIBarMetricsDefault];
} else{
// Regular iPhone
[nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"nav_classic.png"] forBarMetrics: UIBarMetricsDefault];
}
}
return nav;
}
我想知道导航图像、nav.png 和条件的适当大小,以便我可以在所有三种设备上工作。
因为我使用 320x44 的 nav classic,但它在 iPhone 设备中看起来很小(Retina 3.5 英寸) 所以,当我使用 nav.png 时,它看起来更大的iPhone
1. UINavigationBar 的合适尺寸是多少?
2. 使用它们的正确逻辑是什么?
谢谢