繁体   English   中英

在iphone 6 plus上自动布局的意外结果

[英]Unexpected result for autolayout on iphone 6 plus

我在视图控制器(VC)上添加了一个uiview,尝试设置它的宽度等于VC视图的宽度。

我设定和期望的内容: xcode设置和预期结果

我在iPhone 6 plus上得到了什么: 我在ip6 +上得到了什么

我试图改变领先空间和尾随空间的常量,没有任何帮助。 iphone 6+ autolayout有什么特别之处吗?

此处的视图设置为“任意宽度x常规高度”

-------已添加2016年12月对于像我这样困惑的人:UIView中有一个布局边距属性,它是一个UIEdgeInsets(8,8,8,8)。 这就像css padding。

当视图的边缘靠近超视图的边缘并且preservesSuperviewLayoutMargins属性为true时,可以增加实际的布局边距以防止内容与superview的边距重叠。

默认边距为每边八个点。

如果视图是视图控制器的根视图,则系统会设置和管理边距。 顶部和底部边距设置为零点。 侧边距取决于当前尺寸等级,但可以是16或20点。 您无法更改这些边距。

添加约束时,尝试删除检查约束边距。 这里看看:

检查边界到边距并检查其结果

限制利润结果

现在,删除约束并重新添加约束与Constrain到未选中的边距后,结果如下:

未经检查限制边距结果没有约束到边距

Sharon的答案非常有效,但您不必删除现有的约束来解决问题。 您可以编辑现有约束以消除无关边距:

在应用解决方案前解决方案步骤申请解决方案后

编辑现有约束以删除无关的边距将不起作用。 您必须删除现有约束并添加新约束,从而保留未选择边距的约束。

我的“完成”按钮遇到了同样的问题。 问题是我的View(完成按钮)位于基本视图层次结构中,因此我将视图带回根视图(视图控制器的视图)。 并相应地设置约束。

我的案例设置约束Pin-> Uncheck Constraints to Margin - > Bottom,Leading,Trailing(Constraints value = 0)

在此输入图像描述

确保视图层次结构不应该遵循方式。(子视图可能是剪切视图,但不能)。

在此输入图像描述

我在iPhone 6 plus模拟器中遇到了这个错误。 但是在6 plus设备中,这个bug并没有发生。 这可能只是一个6加模拟器的错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM