尝试为 iOS 设备创建通用应用程序
我已经准备好了 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
的情况下创建通用应用程序?
I have my iPhone app ready and now i've to make it a Universal app.
I'm doing this..
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];
I don't have MainWindow.xib
in my project. I'm creating it programmatically.
So if i use this code to give the frame to the window
self.appFrame = [[UIScreen mainScreen] bounds];
self.window.frame = self.appFrame;
Then it iPad should have (0,0,768,1024)
and iPhone should have (0,0,320,480)
But, if I run my code on iPad simulator it takes self.appFrame
as (0,0,320,480)
Can you guys explain me what's the problem??
and
How can i create a Universal app without using MainWindow.xib
??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 Xcode 中打开目标的“构建设置”选项卡,并将 目标设备系列 键设置为 iPhone/iPad。然后,您的应用程序将编译为本机 iPad 和 iPhone 应用程序,并且
[[UIScreen mainScreen]bounds]
应返回正确的结果。顺便说一句,您应该使用[[UIScreen mainScreen] applicationFrame]
而不是窗口框架的边界!Open the Build Settings tab of your target in Xcode and set the Targeted Device Family key to iPhone/iPad. Then your app compiles as native iPad and iPhone application and
[[UIScreen mainScreen] bounds]
should return the correct results. Btw, you should use[[UIScreen mainScreen] applicationFrame]
instead of bounds for the window frame!