次の方法で共有


UIView.GetConstraintsAffectingLayout(UILayoutConstraintAxis) メソッド

定義

指定した に沿った の NSLayoutConstraint レイアウトに影響を与える の UIView 配列を返します axis

[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

関心のある方向。

戻り値

既定値は空の配列です。

属性

注釈

これは、実稼働アプリケーションでは使用しないデバッグ方法です。

返される配列には、明示的に参照thisUIViewされていないが、 に影響を与Frameえる が含まれるNSLayoutConstraint場合があります。 たとえば、 が にanotherViewピン留めされ、anotherViewその Superviewにピン留めされている場合this、 メソッドは両方の制約を返す場合があります。

このメソッドはデバッグ指向のヘルパー メソッドであり、完全なセット (またはいずれか) 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);
    }
  });
});

適用対象