ios - SDL 无法在 iPhone 5/6/6+ 上全屏显示

标签 ios iphone sdl-2

运行 SDL 的演示,我注意到 iPhone 5/5s 和 iPhone 6/6 Plus 上的屏幕不是全尺寸显示。屏幕顶部和底部有黑条。无论选择什么手机模拟器,SDL 显示 320×480。

这是 SDL_uikitappdelegate.m 的打印输出

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    NSLog(@"Screen size: (%f, %f)", [UIScreen mainScreen].nativeBounds.size.width, [UIScreen mainScreen].nativeBounds.size.height);
    UIScreen *mainScreen = [UIScreen mainScreen];
    NSLog(@"Screen bounds: %@, Screen resolution: %@, scale: %f, nativeScale: %f",
          NSStringFromCGRect(mainScreen.bounds), mainScreen.coordinateSpace, mainScreen.scale, mainScreen.nativeScale);
}

2014-10-11 17:09:21.267 Happy[18363:725719] Screen size: (640.000000, 960.000000)
2014-10-11 17:09:21.268 Happy[18363:725719] Screen bounds: {{0, 0}, {320, 480}}, Screen resolution: <UIScreen: 0x7feab951f1a0; bounds = {{0, 0}, {320, 480}}; mode = <UIScreenMode: 0x7feab9619420; size = 640.000000 x 960.000000>>, scale: 2.000000, nativeScale: 2.000000

请注意,application:didFinishLaunchingWithOptionsSDL_init()SDL_CreateWindow() 之前执行。

我期待以下 iPhone 屏幕尺寸:

iPhone5 = 320x568, 
iPhone6 = 375x667, 
iPhone6 Plus = 414x736

有人想过为什么以及如何让它全屏显示吗?

enter image description here

最佳答案

当我找到你的帖子时,我正在和同样的事情作斗争。问题在于 SDL 中包含的 Xcode 项目文件模板来自 Xcode 6 之前的版本,并且大量设置需要针对各种屏幕尺寸的启动图像以暗示支持 iPhone 5 及更高版本。

显然,继续这样做将是一个脆弱的解决方案。我创建了一个新的空项目并使用没有任何启动图像的 iOS 8 LaunchScreen.xib。这允许该应用程序支持任何屏幕尺寸(使用可调整大小的 iPhone 模拟器进行测试)。

关于ios - SDL 无法在 iPhone 5/6/6+ 上全屏显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26313652/

相关文章:

ios - 将字符串转换为日期 Objective-C

iphone - 如何检查触摸点是否在ios中的曲线路径的边缘上?

ios - TableView在reloadData上崩溃-“无法识别的选择器已发送到实例”

ios - 当原始类不可用时如何解码对象?

iOS - 如何在 UITableView 的单元格上添加带有文本/按钮的气泡?

iphone:如何在 webView 中放置主页按钮

iphone - 核心数据 NSPredicate 检查 BOOL 值

c++ - 我有关于 'already been defined in game.obj'的错误。我该怎么办?

c++ - 启用 DEPTH_TEST 时 OpenGL 屏幕闪烁

c++ - 尝试将 SDL 2 与 Visual Studio c++ 一起使用