Autolayout在设备上呈现不一致的渲染

时间:2015-03-17 11:13:39

标签: ios swift autolayout

我有一系列视图,每个视图都包含一个包含各种子视图的滚动视图,即集合视图,标签,imagview。我第一次使用自动布局,有些视图在某些设备上渲染得很好但在其他设备上没有渲染,我在iPhone 4s,5和6上附加了视图预览。

Iphone 5 Scrollview wrapping image view and label view is to far right iphone 5 scrollview wrapping collection view fine iphone 5 scrollview wrapping zoomable image fine Ssame image here for iPhone 4 top blue IV cut short iphone 6 Scrollview wrapping image view and label view is fine iphone6 Scrollview wrapping content view cut short to the right iphone 6 scrollview wrapping zoomable image fine

特别是我不确定历史视图的对齐方式如何在iPhone 5和4中偏离中心,但在6中很好,而iPhone 6中的集合视图在右侧显示切割排序但不适用于iPhone 5,4 ,最后是带有标签'图片标题'的蓝色图像。在iPhone 4s上的可缩放图像之上似乎被缩短了。我认为autolayout中的错误会在各个设备上保持一致吗?

任何意见都赞赏。

2 个答案:

答案 0 :(得分:1)

看起来您正在为某些元素设置绝对宽度。相反,您应该设置与父UIView边缘的距离。即尾随/引导空间到容器。

答案 1 :(得分:1)

尝试给出一致的约束。看起来你只是在superview上做领先和顶级空间,也许你正在添加宽度和高度限制以避免错误的视图。试着像在自动布局之前做自动调整掩码一样思考。尝试保持比率或扩展容器的尾随和底部空间限制。