- 将其添加到视图 A 或视图 B 都没有关系,只要它们满足您从文档中引用的要求即可。
我不知道有任何影响,布局都是一样的。 根据 UIView 头文件中的注释(参见下面的摘录),约束不一定添加到您显式添加到的视图中,它们通常安装在与约束中涉及的视图最近的祖先处(并且视图是被认为是它自己的祖先)。
两种方式本质上都不比另一种方便(除非您没有对 A 的引用,在这种情况下,将其添加到 B 显然更方便)。这取决于您的应用程序的设置(您有什么出口/参考等)。 鉴于约束没有安装在您明确添加它们的位置,这两种方式都不会更方便。不过,我认为将它们添加到系统最终将安装它们的位置会更有效。
编辑:
此评论来自 UIView.h,上面用于安装约束的方法:
/* A constraint is typically installed on the closest common ancestor of the views involved in the constraint.
It is required that a constraint be installed on _a_ common ancestor of every view involved. The numbers in a constraint are interpreted in the coordinate system of the view it is installed on. A view is considered to be an ancestor of itself.
*/