共用方式為


UIView.GetConstraintsAffectingLayout(UILayoutConstraintAxis) 方法

定義

傳回 的陣列 NSLayoutConstraint ,其會影響沿著指定 axisUIView 的配置。

[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 已釘選 anotherView 到 ,而且 anotherView 已釘選到其 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);
    }
  });
});

適用於