[英]Unexpected result for autolayout on iphone 6 plus
我在视图控制器(VC)上添加了一个uiview,尝试设置它的宽度等于VC视图的宽度。
我设定和期望的内容:
我在iPhone 6 plus上得到了什么:
我试图改变领先空间和尾随空间的常量,没有任何帮助。 iphone 6+ autolayout有什么特别之处吗?
此处的视图设置为“任意宽度x常规高度”
-------已添加2016年12月对于像我这样困惑的人:UIView中有一个布局边距属性,它是一个UIEdgeInsets(8,8,8,8)。 这就像css padding。
当视图的边缘靠近超视图的边缘并且preservesSuperviewLayoutMargins属性为true时,可以增加实际的布局边距以防止内容与superview的边距重叠。
默认边距为每边八个点。
如果视图是视图控制器的根视图,则系统会设置和管理边距。 顶部和底部边距设置为零点。 侧边距取决于当前尺寸等级,但可以是16或20点。 您无法更改这些边距。
添加约束时,尝试删除检查约束边距。 这里看看:
检查边界到边距并检查其结果
现在,删除约束并重新添加约束与Constrain到未选中的边距后,结果如下:
Sharon的答案非常有效,但您不必删除现有的约束来解决问题。 您可以编辑现有约束以消除无关边距:
编辑现有约束以删除无关的边距将不起作用。 您必须删除现有约束并添加新约束,从而保留未选择边距的约束。
我在iPhone 6 plus模拟器中遇到了这个错误。 但是在6 plus设备中,这个bug并没有发生。 这可能只是一个6加模拟器的错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.