iOS 布局约束 |宽度锚点与前导和尾随锚点
iOS Layout Constraints | Width anchor vs leading and trailing anchors
我使用 AutoLayout 约束的时间不长,所以我还没有完全掌握它的一些内部工作原理。
特别是,有时我可以互换使用 widthAnchor
和 leading
和 trailing
锚点,以及我使用的其他锚点需要全部 3 个吗?或者,将 widthAnchor
与 leadingAnchor
或 一起使用 trailingAnchor
?
是否有效
总结一下我的问题,leading
和 trailing
锚点的组合是否只是定义视图的宽度和 X 轴位置,就像 widthAnchor
和leadingAnchor
会吗?
基本上,自动布局对于具有固有尺寸的视图至少需要两个约束,对于没有固有尺寸的视图至少需要四个约束。假设您的视图具有固有大小(例如 UITextView),它足以约束 x 轴和 y 轴。如果您愿意,您可以根据屏幕尺寸指定带有宽度锚点和高度锚点的固定尺寸,或带有约束性顶部、底部、前导、尾随锚点的动态尺寸,但这只是可选的。如果您的视图没有固有的内容大小(例如 UIImageView),您需要指定至少一个 x 轴、一个 y 轴以及宽度和高度锚点或约束前导、尾随、顶部和底部锚点。关键是如果你有前导和尾随锚点,你不需要指定宽度锚点,反之亦然。现在,你明白了。如果你约束顶部和底部锚点,你不应该添加高度锚点以避免冲突。
我使用 AutoLayout 约束的时间不长,所以我还没有完全掌握它的一些内部工作原理。
特别是,有时我可以互换使用 widthAnchor
和 leading
和 trailing
锚点,以及我使用的其他锚点需要全部 3 个吗?或者,将 widthAnchor
与 leadingAnchor
或 一起使用 trailingAnchor
?
总结一下我的问题,leading
和 trailing
锚点的组合是否只是定义视图的宽度和 X 轴位置,就像 widthAnchor
和leadingAnchor
会吗?
基本上,自动布局对于具有固有尺寸的视图至少需要两个约束,对于没有固有尺寸的视图至少需要四个约束。假设您的视图具有固有大小(例如 UITextView),它足以约束 x 轴和 y 轴。如果您愿意,您可以根据屏幕尺寸指定带有宽度锚点和高度锚点的固定尺寸,或带有约束性顶部、底部、前导、尾随锚点的动态尺寸,但这只是可选的。如果您的视图没有固有的内容大小(例如 UIImageView),您需要指定至少一个 x 轴、一个 y 轴以及宽度和高度锚点或约束前导、尾随、顶部和底部锚点。关键是如果你有前导和尾随锚点,你不需要指定宽度锚点,反之亦然。现在,你明白了。如果你约束顶部和底部锚点,你不应该添加高度锚点以避免冲突。