为了达到ios7与ios6.1以下的UI统一,苹果官方给出的建议是:
(附:https://developer.apple.com/library/ios/documentation/userexperience/conceptual/TransitionGuide/SupportingEarlieriOS.html)
(以demo中tableView的设置为例:)
第一步:不要勾选xib中的Use Autolayout。
第二步:选择View as “ios6.1 and Earlier”
第三步:在Size Inspector中,有一ios6/7 Deltas:分别表示在PosX的增量、PosY的增量、宽度增量、高度增量。
在“ios6.1 and Earlier”模式下,由于status bar的高度为20,所以当app运行在ios7.0模式下时,需要view向下移动20像素,因此在ΔY上设置为20.
tableView坐标向下移动了20,由于整个屏幕的高度是不变的,所以在“ios7.0 and Later”模式下,需要将tableView的高度减去20像素,即在“ios6.1 and Earlier”模式下,设置tableView的ΔHeight为 -20。如果不设置ΔHeight,tableView底部会有20像素是不可见的,可以测试demo看看。
***注***:Δ,正数表示增,负数表示减。
图5
第四步:ok,设置完成,运行到ios7.0看下效果:
图6
“ios6.1 and Earlier”和“ios7.0 and Later” UI布局便统一了。