【问题标题】:trying to create a Universal app for iOS Devices尝试为 iOS 设备创建通用应用程序
【发布时间】:2011-08-03 13:07:28
【问题描述】:

我已经准备好我的 iPhone 应用程序,现在我要把它变成一个通用应用程序。

我正在这样做..

self.window = [[UIWindow alloc] init];
self.appFrame = [[UIScreen mainScreen] bounds];
self.window.frame = self.appFrame;
UINavigationController *aNav = [[UINavigationController alloc] initWithRootViewController:self.myViewController];
aNav.view.frame = self.appFrame; 
self.nav = aNav;
[self.window addSubview:nav.view];
[self.window makeKeyAndVisible];

我的项目中没有MainWindow.xib。我正在以编程方式创建它。

因此,如果我使用此代码将框架提供给窗口

self.appFrame = [[UIScreen mainScreen] bounds];
self.window.frame = self.appFrame;

那么 iPad 应该有 (0,0,768,1024) 而 iPhone 应该有 (0,0,320,480)

但是,如果我在 iPad 模拟器上运行我的代码,它会将 self.appFrame 视为 (0,0,320,480)

你们能解释一下是什么问题吗??

如何在不使用MainWindow.xib 的情况下创建通用应用程序??

【问题讨论】:

    标签: iphone ipad universal-binary


    【解决方案1】:

    在 Xcode 中打开目标的 Build Settings 选项卡,并将 Targeted Device Family 键设置为 iPhone/iPad。然后您的应用程序编译为原生 iPad 和 iPhone 应用程序,[[UIScreen mainScreen] bounds] 应该返回正确的结果。顺便说一句,您应该使用[[UIScreen mainScreen] applicationFrame] 而不是窗口框架的边界!

    【讨论】:

    • 实际上 applicationFrame 给出了高度 20 像素.. 我想要全屏大小,所以我选择了 bounds
    • 无论如何我直接在设备上尝试过,它工作。谢谢.. :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    • 2012-02-11
    • 1970-01-01
    • 2018-03-08
    • 1970-01-01
    相关资源
    最近更新 更多