转自我的博客:Qiuncheng‘s Blog
对于iOS新手来说,其中最困难也是最麻烦的就包括AutoLayout,但是之前我从来都没有注意到这个,以为自己看了点AutoLayout的东西就可以随意想象,不多用它,所以导致的结果就是我以前写的程序在iPhone4和4s上运行的很好,但是当遇到iPhone5之后,却发现出现了上下黑框,这让我这个新手很是气愤,然后我拿iPhone6测试也一样黑框,但是我在preview里好好的,什么都能够正常显示,这是为什么,于是我就各种百度,bing,Google,果然功夫不负有心啊,我在Google上找到了答案。
问题已经描述的很清楚了吧,接下来我们就来看看解决方案吧。
1. 确定你的Use Auto Layout
和Size Size Classes
是勾选上的
2. 确定你的
ViewController
的Layout
是wAny
、hAny
类型的。3. 确定你的相关的
Contraints
是适配AutoLayout
。(这个没人能够帮你了,只能靠你自己去理解AutoLayout相关的约束了,并设定了)4. 为了适配所有不同屏幕大小的iPhone,你必须提供相关的背景图片(如:@2x, @3x,这个应该都知道吧,你在放图片到文件夹里的时候Xcode里会有三个相关提示吧!)
5. 你必须提供
LaunchScreen
,其实我昨天的问题就出现在这里,没有提供LaunchScreen
,就像这样,在show the file inspector
里勾选Use Auto Layout
、Size Size Classes
和Use as Launch Screen
。Ok, 如果这样的话你的应用还是会出现上下黑框的话,我觉得你应该重新在检查下以上步骤。有一条不满足,很可能就是导致出现黑框的原因,另外提示下,注意善于利用Preview
。
请记住,它这不仅仅是一个摆设。