ios – leftAnchor和leadingAnchor之间的区别?

我一直在使用Swift for iOS中的约束,大多数命名约定/文档使事情变得非常自我解释,但最近困惑我的一件事是两对NSLayoutXAxisAnchor类:

leadingAnchor, leftAnchor

随着

trailingAnchor, rightAnchor

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

我从developer.apple.com检出了文档,结果甚至完全一样(忽略了名称的区别)。例如比较leadAnor和leftAnchor:

“Use this anchor to create constraints with the view’s leading edge.
You can only combine this anchor with a subset of the
NSLayoutXAxisAnchor anchors. You can combine a leadingAnchor with
another leadingAnchor, a trailingAnchor, or a centerXAnchor. For more
information, see NSLayoutAnchor Class Reference.”

相比于:

“Use this anchor to create constraints with the view’s left edge. You
can only combine this anchor with a subset of the NSLayoutXAxisAnchor
anchors. You can combine a leftAnchor with another leftAnchor, a
rightAnchor, or a centerXAnchor. For more information, see
NSLayoutAnchor Class Reference.”

有没有人知道这些属性之间是否存在任何意图的区别?

这在WWDC 2015视频中有一个关于Autolayout的奥秘(我认为这是第1部分,但都值得一看)。

左和右的约束是绝对的,它们将始终参照屏幕或控件的左/右。前导和尾随约束受设备区域设置的影响;在阅读方向是从左到右的地方(英文,法文,西班牙文等)领导&左(后跟&右)可以互换使用。在阅读方向是从右到左(例如希伯来语)的地方,那么“领先”将是右侧,“后端”将是左侧。

视频中的建议是,您几乎总是使用前导/尾随而不是左/右,除非您对绝对左/右具有特定要求。

考虑标签和文本字段的典型“表单”。如果您使用前导/尾随约束,那么您将获得右侧的标签和右侧的文本字段,右侧的英文区域设置和标签位于左侧的希伯来语区域的左侧文本字段。

如果你做了一个孩子的应用程序,你正在从右边教学,你总是想要屏幕左边的“左”按钮,左/右的约束将是适当的

http://stackoverflow.com/questions/32981532/difference-between-leftanchor-and-leadinganchor

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:ios – leftAnchor和leadingAnchor之间的区别?