我为iPhone制作了一个应用程序,一切都有iPhone5 4"尺寸。 模拟器运行游戏很好,它在我的iPhone上运行良好。
现在,我明白为了在iPhone 3.5上发布游戏"屏幕和iPad,我必须在同一个项目文件中创建文件。
我有:
的Iphone4":
Iphone3.5":
ipad公司:
我有很多问题:
下载程序设备如何检测要采用的文件夹 游戏来自?
当我在3.5"中运行模拟器时,尽管已经在3.5"中创建了应用程序。设置,它仍然提供在4"中创建的故事板。夹。但是,当我运行iPad模拟器时,它会在iPad文件夹中运行故事板。简而言之,我如何让Xcode检测何时应该使用4"模拟器中的尺寸或何时使用3.5"尺寸
如果我要在App Store上以4"任何在iPhone4或更早版本上下载它的人都能玩它吗(即它会自动重新缩放吗?)
很高兴通过Skype或其他媒体进一步讨论。非常感谢快速回应。
亲切的问候,
最高
答案 0 :(得分:2)
您正在使用故事板,因此这是您的应用代理
- (UIStoryboard *)grabStoryboard {
UIStoryboard *storyboard;
// detect the height of our screen
int height = [UIScreen mainScreen].bounds.size.height;
if (height == 480) {
storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
// NSLog(@"Device has a 3.5inch Display.");
} else {
storyboard = [UIStoryboard storyboardWithName:@"MainRetina" bundle:nil];
// NSLog(@"Device has a 4inch Display.");
}
return storyboard;
}
然后在你的视图中加载添加:
UIStoryboard *storyboard = [self grabStoryboard];
如果您正在使用iPad,请添加相应的大小,并将故事板重命名为该效果
答案 1 :(得分:0)
您不必也不应该为不同的平台提供不同的源文件。将3.5英寸和4英寸iPhone / iPod从同一故事板中运行是非常简单的。
您通常需要为iPad和iPhone设计不同的故事板。项目中的信息选项卡包含两个文件名的空格,在运行时,应用程序决定自动加载哪个文件名。
然而,iOS 8的规则正在发生变化。如果这是一个仍在开发中的新应用程序,您可能需要考虑使用iOS 8中内置的新自适应UI功能.Apple已经彻底改变了他们期望我们处理这些内容的方式,以及我们的方式应该处理设备轮换(简短回答:我们不应该再处理轮换了。相反,我们会在视图中收到有关大小变化的通知,我们应该回应那些。现在有“大小类”每个维度都有“常规”和“紧凑”状态,并教你的应用程序如何在常规和紧凑尺寸的不同组合中展示自己。
Apple强烈暗示新的设备尺寸即将到来,如果我们想要使用新设备,我们应该采用新的做事方式。任何新设备很可能只运行iOS 8,并且将依赖于新的自适应UI API来实现其UI布局。我不知道它们与旧设备有什么样的兼容性,但它可能会有局限性。