Share via


UIView.GetConstraintsAffectingLayout(UILayoutConstraintAxis) 方法

定义

返回的 数组,该数组NSLayoutConstraint影响沿指定的 axis的布局UIView

[Foundation.Export("constraintsAffectingLayoutForAxis:")]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 6, 0, ObjCRuntime.PlatformArchitecture.All, null)]
public virtual UIKit.NSLayoutConstraint[] GetConstraintsAffectingLayout (UIKit.UILayoutConstraintAxis axis);
abstract member GetConstraintsAffectingLayout : UIKit.UILayoutConstraintAxis -> UIKit.NSLayoutConstraint[]
override this.GetConstraintsAffectingLayout : UIKit.UILayoutConstraintAxis -> UIKit.NSLayoutConstraint[]

参数

axis
UILayoutConstraintAxis

感兴趣的方向。

返回

默认值为空数组。

属性

注解

这是一种调试方法,不应在生产应用程序中使用。

返回的数组可能包含 NSLayoutConstraint未显式引用 thisUIView 但会影响 的 Frame。 例如,如果 this 固定到 anotherViewanotherView 固定到其 Superview,则 方法可能会返回这两个约束。

此方法是面向调试的帮助程序方法,不保证返回完整的 (或任何) NSLayoutConstraint

如果直接从 内部 ViewDidLoad()调用此方法,它通常会返回一个空数组。 如果如以下示例所示调用它,则它似乎更有可能提供全面的答案。

mainView.AddConstraints(NSLayoutConstraint.FromVisualFormat("H:|-[blue]-|", 0, new NSDictionary(), viewsDictionary));
mainView.AddConstraints(NSLayoutConstraint.FromVisualFormat("V:|-[blue]-(==30)-[green(==blue)]-|", 0, new NSDictionary(), viewsDictionary));
mainView.AddConstraints(NSLayoutConstraint.FromVisualFormat("|-[green(==blue)]-|", 0, new NSDictionary(), viewsDictionary));

System.Threading.ThreadPool.QueueUserWorkItem(delegate {
  InvokeOnMainThread(delegate {
    foreach(var c2 in blueView.GetConstraintsAffectingLayout(UILayoutConstraintAxis.Horizontal))
    {
      Console.WriteLine(c2);
    }
  });
});

适用于