/// <summary> /// <para>Constrains the layout of subviews according to equations and /// inequalities specified in <paramref name="constraints"/>. Issue /// multiple constraints per call using the && operator.</para> /// <para>e.g. button.Frame.Left >= text.Frame.Right + 22 && /// button.Frame.Width == View.Frame.Width * 0.42f</para> /// </summary> /// <param name="view">The superview laying out the referenced subviews.</param> /// <param name="constraints">Constraint equations and inequalities.</param> /// <param name = "priority">The priority of the constraints</param> public static NSLayoutConstraint[] ConstrainLayout (this UIView view, Expression<Func<bool>> constraints, UILayoutPriority priority) { var body = constraints.Body; var exprs = new List<BinaryExpression> (); FindConstraints (body, exprs); var layoutConstraints = exprs.Select (e => CompileConstraint (e, view)).ToArray (); if (layoutConstraints.Length > 0) { foreach (var c in layoutConstraints) { c.Priority = (float)priority; } view.AddConstraints (layoutConstraints); } return layoutConstraints; }
public FluentLayout SetPriority(UILayoutPriority priority) { Priority = (float)priority; return this; }
public FluentLayout SetPriority(UILayoutPriority priority) { Priority = (float)priority; return(this); }
/// <summary> /// <para>Constrains the layout of subviews according to equations and /// inequalities specified in <paramref name="constraints"/>. Issue /// multiple constraints per call using the && operator.</para> /// <para>e.g. button.Frame.Left >= text.Frame.Right + 22 && /// button.Frame.Width == View.Frame.Width * 0.42f</para> /// </summary> /// <param name="view">The superview laying out the referenced subviews.</param> /// <param name="constraints">Constraint equations and inequalities.</param> /// <param name = "priority">The priority of the constraints</param> public static NSLayoutConstraint[] ConstrainLayout(this UIView view, Expression <Func <bool> > constraints, UILayoutPriority priority) { var body = constraints.Body; var exprs = new List <BinaryExpression>(); FindConstraints(body, exprs); var layoutConstraints = exprs.Select(e => CompileConstraint(e, view)).ToArray(); if (layoutConstraints.Length > 0) { foreach (var c in layoutConstraints) { c.Priority = (float)priority; } view.AddConstraints(layoutConstraints); } return(layoutConstraints); }
/// <summary> /// Sets the resistance to expansion beyond the UIKit.UIView's UIKit.UIView.IntrinsicContentSize. /// </summary> public static TView WithContentHuggingPriority <TView>(this TView view, UILayoutPriority priority, UILayoutConstraintAxis axis) where TView : UIView { view.SetContentHuggingPriority((float)priority, axis); return(view); }
public static NSLayoutConstraint WithPriority(this NSLayoutConstraint constraint, UILayoutPriority priority) { if (constraint == null) { throw new ArgumentNullException(nameof(constraint)); } return(WithPriority(constraint, (float)priority)); }
/// <summary> /// Sets the content compression resistance priority. /// </summary> /// <param name="view">View.</param> /// <param name="priority">Priority.</param> /// <param name="axis">Axis.</param> public static void SetContentCompressionResistancePriority(this UIView view, UILayoutPriority priority, UILayoutConstraintAxis axis) { view.SetContentCompressionResistancePriority((float)priority, axis); }
/// <summary> /// Sets the content hugging priority. /// </summary> /// <param name="view">View.</param> /// <param name="priority">Priority.</param> /// <param name="axis">Axis.</param> public static void SetContentHuggingPriority(this UIView view, UILayoutPriority priority, UILayoutConstraintAxis axis) { view.SetContentHuggingPriority((float)priority, axis); }
public LayoutPriority(UILayoutPriority value) { _value = (float)value; }