Ios iPad和iPhone上的自动布局?

Ios iPad和iPhone上的自动布局?,ios,swift,autolayout,xcode6,Ios,Swift,Autolayout,Xcode6,我正在使用swift在Xcode 6上构建一个应用程序,我只为iPhone和iPod制作,不为iPad制作。有人告诉我,尽管你只是在为iPhone开发一款应用程序,但苹果要求该应用程序在iPad上运行平稳,否则他们可能会拒绝,除非你能在通用屏幕尺寸下运行。我很了解自动布局,但我有一个问题;比如说,我把所有的按钮、标签和元素都放在一个紧凑的宽度和固定高度的屏幕上(对于所有的iPhone来说都是纵向的),然后编写代码,这样它就可以在这个屏幕上工作。。。我是否只需要为固定宽度和高度的屏幕尺寸制作相同的

我正在使用swift在Xcode 6上构建一个应用程序,我只为iPhone和iPod制作,不为iPad制作。有人告诉我,尽管你只是在为iPhone开发一款应用程序,但苹果要求该应用程序在iPad上运行平稳,否则他们可能会拒绝,除非你能在通用屏幕尺寸下运行。我很了解自动布局,但我有一个问题;比如说,我把所有的按钮、标签和元素都放在一个紧凑的宽度和固定高度的屏幕上(对于所有的iPhone来说都是纵向的),然后编写代码,这样它就可以在这个屏幕上工作。。。我是否只需要为固定宽度和高度的屏幕尺寸制作相同的按钮、标签和元素,我的应用程序仍能正常运行,或者我必须用新的按钮插座和元素名称重写整个代码?

我不知道有任何规则规定你必须让你的应用程序在所有设备上运行。无论哪种方式,您仍然可以通过编程方式调整任何视图对象,这些视图对象可能无法通过autolayout按您喜欢的方式进行调整。商店里有很多应用程序严格按照iPhone/iPod提交

您也没有理由不能在单独的布局中使用相同的iAction或iOutlet代码。不需要复制任何代码


有一个警告。如果您提交了一个“通用”应用程序,并决定将该应用程序仅限于iPhone(或iPad),则需要将其作为新应用程序提交。苹果不允许你在一个版本已经发布后更改它

应用程序的构建设置只能是iPhone、iPad和Universal。需要注意的是,iPhone应用程序仍然可以在iPad上下载,只是它们不会出现在iPad应用商店的相同位置。如果您没有任何特定于iPad的设置,它只需缩放应用程序以适应整个屏幕,而不是使用本机iPad布局。我相信它可以放大3.5英寸版本的应用程序

Autolayout非常有用,在考虑不同的屏幕尺寸时提供了大量的通用性,这一点现在比以往任何时候都更加重要

苹果为我们配备的另一个工具是为iPhone或iPad创建独立笔尖的能力。例如,如果您有MyViewController.h、.m和-.xib,则可以使用名称的扩展名,以便应用程序为该设备加载该扩展名。语法为MyViewController~iphone.xib和MyViewController~ipad.xib。您无需通过编程或在构建设置中执行任何操作即可使其正常工作。只需正确设置名称,并确保所有插座都已连接。除非以编程方式修改布局,否则不会有任何问题,而且所有代码都可以正常工作

实际上,无论是在通用应用程序上还是在iPad上运行的iPhone应用程序上,都会检查这一点——如果设备是iPad,它会查找~iPad版本的nib。如果找不到,它将加载~iphone或唯一可用的