我准备好了我的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
??
答案 0 :(得分:0)
在Xcode中打开目标的Build Settings标签,并将目标设备系列键设置为 iPhone / iPad 。然后您的应用程序将编译为本机iPad和iPhone应用程序,[[UIScreen mainScreen] bounds]
应返回正确的结果。顺便说一下,你应该使用[[UIScreen mainScreen] applicationFrame]
而不是窗框的边界!