可能是重复问题:
如何支持更高的iPhone 5屏幕尺寸?
如何使我的应用程序适配4英寸屏幕?我的应用在iOS6GM模拟器中看起来不是4英寸大小的。 在xcode中是否有任何选项可以使用所有4英寸屏幕?
一些用户报告说,添加启动图像Default-568h@2x.png
后问题得到解决(见下文)。
为了更新到 iPhone5,我执行了以下操作:
iOS 6 中的自动旋转发生了变化。在 iOS 6 中,UIViewController 的shouldAutorotateToInterfaceOrientation:
方法已被弃用。取而代之的是,您应该使用supportedInterfaceOrientationsForWindow:
和shouldAutorotate
方法。因此,我添加了这些新方法(并保留了旧方法以便与 iOS 5 兼容):
-(BOOL)shouldAutorotate {
return YES;
}
- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAllButUpsideDown;
}
这就是全部内容,但请记得测试iOS 5和iOS 6中的自动旋转,因为旋转方面有所改变。
#define kViewHeight 460.f // or 480.f if you don't have a status bar
#define kViewWidth 320.f
#define kViewHeight CGRectGetHeight([UIScreen mainScreen].applicationFrame)
#define kViewWidth CGRectGetWidth([UIScreen mainScreen].applicationFrame)
相反,我不确定这是否是一个好的解决方案。正如你所看到的,你需要在使用kViewHeight
时随处调用CGRectGetHeight([UIScreen mainScreen].applicationFrame)
。我尝试过使用
extern float kViewHeight; // in .h
float kViewHeight = CGRectGetHeight([UIScreen mainScreen].applicationFrame) // in .m
但是编译错误了。
虽然它能够正常工作,但我认为一定有更好的解决方法。 ;)