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);
}
});
});