Ios leftAnchor和leadingAnchor之间的区别?

Ios leftAnchor和leadingAnchor之间的区别?,ios,layout,Ios,Layout,我一直在使用Swift for iOS中的约束,大多数命名约定/文档都让事情变得不言自明,但最近让我感到困惑的是两对NSLayoutXAxisAnchor类: leadingAnchor, leftAnchor 连同 trailingAnchor, rightAnchor 当我在iOS应用程序中以编程方式设置约束时,我发现我可以完全互换地使用这些约束。如果我使用leadingAnchor,运行应用程序并观察行为,然后使用leftAnchor,运行应用程序并观察行为,它的功能完全相同 我查看了

我一直在使用Swift for iOS中的约束,大多数命名约定/文档都让事情变得不言自明,但最近让我感到困惑的是两对NSLayoutXAxisAnchor类:

leadingAnchor, leftAnchor
连同

trailingAnchor, rightAnchor
当我在iOS应用程序中以编程方式设置约束时,我发现我可以完全互换地使用这些约束。如果我使用leadingAnchor,运行应用程序并观察行为,然后使用leftAnchor,运行应用程序并观察行为,它的功能完全相同

我查看了developer.apple.com上的文档,结果甚至完全相同(忽略名称上的差异)。例如,比较leadingAnchor和leftAnchor:

“使用此定位创建具有视图前缘的约束。 您只能将此锚定与 NSLayoutXAxisAnchor锚定。您可以将leadingAnchor与 另一个引导锚、牵引锚或中心锚。更多信息 有关详细信息,请参阅NSLAYOUTACHOR类参考。“

与之相比:

“使用此定位创建视图左边缘的约束。您可以 只能将此锚点与NSLayoutXAxisAnchor的子集组合 锚点。您可以将一个左锚点与另一个左锚点组合,即 rightAnchor或centerXAnchor。有关详细信息,请参阅 NSLAYOUTACHOR类参考。“

有人知道这些属性之间是否存在任何预期的差异吗?

这已在WWDC 2015年关于Autolayout之谜的视频中(简要)介绍过(我认为这是第1部分,但两者都值得一看)

左右约束是绝对的,它们总是指屏幕或控件的左/右。前导和尾随约束受设备区域设置的影响;在阅读方向为从左到右(英语、法语、西班牙语等)的地区,前导和左(以及尾随和右)可以互换使用。在阅读方向为从右向左的地区(例如希伯来语、阿拉伯语),则“前导”为右侧,“尾随”为左侧

视频中的建议是,除非您对绝对左/右有特殊要求,否则您几乎应该始终使用前导/尾随,而不是左/右

考虑标签和文本字段的典型“形式”。如果使用前导/尾随约束,则对于英语区域设置,将在左侧显示标签,右侧显示文本字段,对于希伯来语区域设置,将在右侧显示标签,左侧显示文本字段


如果您制作了一个儿童应用程序,在该应用程序中您从右向左进行教学,并且您总是希望屏幕左侧的“左”按钮,那么左/右约束将是合适的

非常好的信息,谢谢您的回复。我希望我看了视频,那么我自己就知道了!我将把这标记为已接受的答案。再次感谢