UIView.GetConstraintsAffectingLayout(UILayoutConstraintAxis) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回 的陣列 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[]
參數
感興趣的方向。
傳回
預設值為空陣列。
- 屬性
備註
這是不應該用於生產應用程式的偵錯方法。
傳回的陣列可能包含 NSLayoutConstraint 未明確參考 this
UIView ,但仍會影響 的 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);
}
});
});